本文整理汇总了PHP中ArrayAdapter::get方法的典型用法代码示例。如果您正苦于以下问题:PHP ArrayAdapter::get方法的具体用法?PHP ArrayAdapter::get怎么用?PHP ArrayAdapter::get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArrayAdapter
的用法示例。
在下文中一共展示了ArrayAdapter::get方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: default_values_are_returned_for_unavailable_configuration
/**
* @group configuration
* @test
*/
public function default_values_are_returned_for_unavailable_configuration()
{
$configuration = array('foo' => 'bar');
$arrayAdapter = new ArrayAdapter($configuration);
$this->assertNull($arrayAdapter->get('quuz'));
$this->assertFalse($arrayAdapter->get('quux', false));
}
示例2: insert
private function insert($fname, ArrayAdapter $params, $text)
{
//Идентификатор
$ident = $params->get('ident');
//Текст
$text = $text == '.' ? null : $text;
//Имплементация доджна вернуть ссылку для показа bubble
return FoldedStorageInsts::bySourcePrefix($fname)->getBubbleHref($ident, $text, $params);
}
示例3: insert
private function insert($fname, ArrayAdapter $params, $text)
{
//Идентификатор
$ident = $params->get('ident');
//Текст
$text = $text == '.' ? null : $text;
//Имплементация доджна вернуть ссылку для показа bubble
return Handlers::getInstance()->getFoldingBySmartyPrefix($fname)->getBubbleHref($ident, $text, $params);
}
示例4: getImages
private function getImages(ArrayAdapter $params, $FNAME)
{
$dir = $params->str('dir');
$name = $params->get('name');
//НЕПОСРЕДСТВЕННО КАРТИНКА
if ($name instanceof DirItem) {
return $name;
}
/*
* FOLDING
*/
$FCW = FoldedContextWatcher::getInstance();
$folding = null;
$ident = $params->get('ident');
//Тип фолдинга. Он может быть передан либо в параметре 'group', либо по префиксу смарти-функции, например: postimg (post-название типа фолдинга).
$foldingType = $params->get('group');
$foldingType = $foldingType ? $foldingType : (starts_with($FNAME, 'img') ? null : array_get_value(0, explode('img', $FNAME)));
//Подтип фолдинга, например: is - подтип фолдингов для фолдингов с типом post (выпуск журнала среди всех постов).
$foldingSubType = $params->get('type');
if ($params->has('post')) {
/* @var $post AbstractPost */
$post = $params->get('post');
$ident = $post->getIdent();
$folding = Handlers::getInstance()->getPostsProcessorByPostType($post->getPostType())->getFolding();
} else {
if ($foldingType) {
$hasSubtype = FoldedStorage::isFoldingHasSubtype($foldingType);
if ($hasSubtype && !$foldingSubType) {
//У фолдинга есть подтип, но в параметрах он не передан - определим фолдинг по контексту
$folding = $FCW->getFoldedEntityEnsureType($foldingType)->getFolding();
} else {
$folding = FoldedStorageInsts::byTypeStype($foldingType, $foldingSubType);
}
} else {
if ($foldingSubType) {
//Если передан только тип, то считаем, что имеется ввиду фолдинг поста
$folding = Handlers::getInstance()->getPostsProcessorByPostType($foldingSubType)->getFolding();
}
}
}
if ($folding && !$ident) {
//У нас есть фолдинг, но нет идентификатора сущности - определим её из контекста
$ident = $FCW->getFoldedEntityEnsureType($folding->getFoldingType())->getIdent();
}
if (!$dir && !$name && $ident && $folding) {
/*
* Не передано название картинки, но передан идентификатор сущности - показываем cover.
* TODO - подумать, возможно имеет смысл сделать возможность показывать любую картинку в заданном размере.
*/
return $folding->getCover($ident, $params->str('dim'));
}
/*
* Берём путь "как есть", если:
* 1. Передан специальный параметр asis
* 2. Передана dir, и она начинается с '/'
* 3. Не передана dir, но при этом name начинается с '/'
* 4. dir или name указывают на адрес в интернете
*/
$asis = $params->bool('asis') || starts_with($dir, DIR_SEPARATOR) || !$dir && starts_with($name, DIR_SEPARATOR) || PsUrl::isHttp($dir) || PsUrl::isHttp($name);
if ($asis) {
if (!$dir) {
return $name;
}
if (starts_with($name, DIR_SEPARATOR)) {
return cut_string_end($dir, DIR_SEPARATOR) . $name;
}
return ($name ? ensure_ends_with($dir, DIR_SEPARATOR) : $dir) . $name;
}
/** @var DirManager */
$DM = null;
/*
* Теперь определим DirManager. Мы его можем взять:
*/
if ($folding) {
//1. Из ресурсов фолдинга
$DM = $folding->getResourcesDm($ident, 'src');
} else {
//2. Обычный resources->images, если фолдинг не установлен
$DM = DirManager::images();
}
/*
* Определим список показываемых картинок по атрибуту $name. Пример тега:
* {postimg type='tr' ident='matrix' name='mao.gif mu.png mu.png'}
* Просто разделим значение атрибута $name по точкам и пробелам и склеим в названия картинок.
*/
$NAMES = preg_split("/[. ]/", $name);
$DI = $DM ? $DM->getDirItem($dir, $name) : DirItem::inst($dir, $name);
if (count($NAMES) % 2 != 0 || $DI->isImg()) {
//Указано что-то непонятное - не чётное кол-во составных элементов
return $DI;
}
$IMAGES = array();
for ($i = 0; $i < count($NAMES); $i += 2) {
$imgName = $NAMES[$i] . '.' . $NAMES[$i + 1];
$IMAGES[] = $DM ? $DM->getDirItem($dir, $imgName) : DirItem::inst($dir, $imgName);
}
return $IMAGES;
}