当前位置: 首页>>代码示例>>PHP>>正文


PHP FlowQuery::peekOperationName方法代码示例

本文整理汇总了PHP中TYPO3\Eel\FlowQuery\FlowQuery::peekOperationName方法的典型用法代码示例。如果您正苦于以下问题:PHP FlowQuery::peekOperationName方法的具体用法?PHP FlowQuery::peekOperationName怎么用?PHP FlowQuery::peekOperationName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TYPO3\Eel\FlowQuery\FlowQuery的用法示例。


在下文中一共展示了FlowQuery::peekOperationName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: evaluate

 /**
  * {@inheritdoc}
  *
  * @param \TYPO3\Eel\FlowQuery\FlowQuery $flowQuery the FlowQuery object
  * @param array $arguments the filter expression to use (in index 0)
  * @return void
  * @throws \TYPO3\Eel\FlowQuery\FizzleException
  */
 public function evaluate(\TYPO3\Eel\FlowQuery\FlowQuery $flowQuery, array $arguments)
 {
     if (!isset($arguments[0]) || empty($arguments[0])) {
         if ($flowQuery->peekOperationName() === 'filter') {
             $filterOperation = $flowQuery->popOperation();
             if (count($filterOperation['arguments']) === 0 || empty($filterOperation['arguments'][0])) {
                 throw new \TYPO3\Eel\FlowQuery\FizzleException('Filter() needs arguments if it follows an empty children(): children().filter()', 1332489382);
             }
             $selectorAndFilter = $filterOperation['arguments'][0];
         } else {
             throw new \TYPO3\Eel\FlowQuery\FizzleException('children() needs at least a Property Name filter specified, or must be followed by filter().', 1332489399);
         }
     } else {
         $selectorAndFilter = $arguments[0];
     }
     $parsedFilter = \TYPO3\Eel\FlowQuery\FizzleParser::parseFilterGroup($selectorAndFilter);
     if (count($parsedFilter['Filters']) === 0) {
         throw new \TYPO3\Eel\FlowQuery\FizzleException('filter needs to be specified in children()', 1332489416);
     } elseif (count($parsedFilter['Filters']) === 1) {
         $filter = $parsedFilter['Filters'][0];
         if (isset($filter['PropertyNameFilter'])) {
             $this->evaluatePropertyNameFilter($flowQuery, $filter['PropertyNameFilter']);
             if (isset($filter['AttributeFilters'])) {
                 foreach ($filter['AttributeFilters'] as $attributeFilter) {
                     $flowQuery->pushOperation('filter', array($attributeFilter['text']));
                 }
             }
         } elseif (isset($filter['AttributeFilters'])) {
             throw new \TYPO3\Eel\FlowQuery\FizzleException('children() must have a property name filter and cannot only have an attribute filter.', 1332489432);
         }
     } else {
         throw new \TYPO3\Eel\FlowQuery\FizzleException('children() only supports a single filter group right now, i.e. nothing of the form "filter1, filter2"', 1332489489);
     }
 }
开发者ID:animaltool,项目名称:webinterface,代码行数:42,代码来源:ChildrenOperation.php


注:本文中的TYPO3\Eel\FlowQuery\FlowQuery::peekOperationName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。