本文整理汇总了PHP中S::keep方法的典型用法代码示例。如果您正苦于以下问题:PHP S::keep方法的具体用法?PHP S::keep怎么用?PHP S::keep使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类S
的用法示例。
在下文中一共展示了S::keep方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unwrap
function unwrap()
{
$this->result = S($this->result)->keep(function ($block) {
return is_array($block) or is_object($block);
})->map(function ($block) {
$block = S::keep(arrize($block), 'is_object');
return count($block) > 1 ? $block : reset($block);
})->get();
return $this;
}
示例2: get_by_list
function get_by_list($name = 'main', $slides = false)
{
if ($name === '*') {
if ($route = \Vane\Route::current() and $route->lastServer) {
$name = \Bundle::element($route->lastServer->name);
$name = S::tryUnprefix(strtok($name, '@'), 'block.');
} else {
$name = null;
}
}
$default = $this->in('default', 'main');
if (!$name and !$default) {
return E_INPUT;
}
$query = ProductListItem::order_by('sort');
$name and $query->where('type', '=', $name);
$default and $query->or_where('type', '=', $default);
if ($list = $query->get()) {
if ($default and !S::first($list, array('?->type === ?', $name))) {
$type = $default;
} else {
$type = $name;
}
$list = S::keep($list, array('?->type === ?', $type));
$goods = S::keys(Product::all(prop('product', $list)), '?->id');
$ordered = array();
foreach ($list as $item) {
$product =& $goods[$item->product];
if ($product and (!$slides or $product->image)) {
$product->extra = $item->extra;
$ordered[] = $product;
}
}
$this->layout = $slides ? '.slides' : '.index';
return static::listResponse($slides ? 1000 : 320, $ordered);
}
}
示例3: titleVars
function titleVars(array $vars, $action)
{
$name = $this->langVarName("{$action}.title");
if (\Lang::has($name)) {
$page = \Lang::line($name, $this->title)->get();
$vars = compact('page') + \Vane\Current::config('company');
return S::keep($vars, 'is_scalar');
}
}