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


PHP inflector::singularize方法代码示例

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


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

示例1: _findIndex

 protected function _findIndex($state, $query, $results = array())
 {
     if ($state == 'before') {
         if (!isset($query['named'])) {
             $query['named'] = array();
         }
         $query['named'] = array_merge(array('collaborators' => null, 'contains' => array(), 'contributors' => null, 'forks' => null, 'has' => array(), 'open_issues' => null, 'query' => null, 'since' => null, 'watchers' => null, 'with' => array()), $query['named']);
         $query['named']['has'] = array_merge((array) $query['named']['with'], (array) $query['named']['contains'], (array) $query['named']['has']);
         $query['conditions'] = array("{$this->alias}.deleted" => false);
         $query['contain'] = array('Maintainer');
         $query['fields'] = array("{$this->alias}.{$this->primaryKey}", "{$this->alias}.name", "{$this->alias}.description", "{$this->alias}.watchers", "{$this->alias}.modified", 'Category.name', 'Category.slug', 'Maintainer.username');
         $direction = 'asc';
         if (!empty($query['named']['direction'])) {
             $query['named']['direction'] = strtolower((string) $query['named']['direction']);
             if ($query['named']['direction'] == 'dsc' || $query['named']['direction'] == 'des') {
                 $query['named']['direction'] = 'desc';
             }
             if ($query['named']['direction'] != 'asc' && $query['named']['direction'] != 'desc') {
                 $query['named']['direction'] = 'desc';
             }
             $direction = $query['named']['direction'];
         }
         $sortField = 'username';
         if (!empty($query['named']['sort'])) {
             $query['named']['sort'] = strtolower($query['named']['sort']);
             if (in_array($query['named']['sort'], Package::$_validOrders)) {
                 $sortField = $query['named']['sort'];
             }
         }
         if ($sortField == 'username') {
             $query['order'] = array(array("Maintainer.{$sortField} {$direction}"));
         } else {
             $query['order'] = array(array("{$this->alias}.{$sortField} {$direction}"));
         }
         if ($query['named']['collaborators'] !== null) {
             $query['conditions']["{$this->alias}.collaborators >="] = (int) $query['named']['collaborators'];
         }
         if ($query['named']['contributors'] !== null) {
             $query['conditions']["{$this->alias}.contributors >="] = (int) $query['named']['contributors'];
         }
         if ($query['named']['forks'] !== null) {
             $query['conditions']["{$this->alias}.forks >="] = (int) $query['named']['forks'];
         }
         if (!empty($query['named']['has'])) {
             foreach ($query['named']['has'] as $has) {
                 $has = inflector::singularize(strtolower($has));
                 if (in_array($has, $this->validTypes)) {
                     $query['conditions'][] = array('Tag.keyname' => $has, 'Tag.identifier' => 'contains');
                 }
             }
             $query['joins'][] = array('alias' => 'Tagged', 'table' => 'tagged', 'type' => 'INNER', 'conditions' => array('`Tagged`.`foreign_key` = `' . $this->alias . '`.`id`'));
             $query['joins'][] = array('alias' => 'Tag', 'table' => 'tags', 'type' => 'INNER', 'conditions' => array('`Tagged`.`tag_id` = `Tag`.`id`'));
         }
         if (!empty($query['named']['category'])) {
             $this->unbindModel(array('belongsTo' => array('Categories.Category')));
             $query['joins'][] = array('alias' => 'Category', 'table' => 'categories', 'type' => 'INNER', 'conditions' => array('`Category`.`id` = `Package`.`category_id`', '`Category`.`slug`' => $query['named']['category']));
         } else {
             $query['contain'][] = 'Category';
         }
         if ($query['named']['open_issues'] !== null) {
             $query['conditions']["{$this->alias}.open_issues <="] = (int) $query['named']['open_issues'];
         }
         if ($query['named']['query'] !== null) {
             $query['conditions'][]['OR'] = array("{$this->alias}.name LIKE" => '%' . $query['named']['query'] . '%', "{$this->alias}.description LIKE" => '%' . $query['named']['query'] . '%', "Maintainer.username LIKE" => '%' . $query['named']['query'] . '%');
         }
         if ($query['named']['since'] !== null) {
             $time = date('Y-m-d H:i:s', strtotime($query['named']['since']));
             $query['conditions']["{$this->alias}.last_pushed_at >"] = $time;
         }
         if ($query['named']['watchers'] !== null) {
             $query['conditions']["{$this->alias}.watchers >="] = (int) $query['named']['watchers'];
         }
         if (!empty($query['operation'])) {
             return $query;
         }
         return $query;
     }
     if (!empty($query['operation'])) {
         return $results;
     }
     foreach ($results as $i => $result) {
         $results[$i]['Package']['description'] = trim($result['Package']['description']);
         if (empty($result['Package']['description'])) {
             $results[$i]['Package']['description'] = 'No description available';
         }
         $results[$i]['Category']['color'] = '';
         if (!empty($result['Category']['slug'])) {
             $results[$i]['Category']['color'] = $this->packageColor($result['Category']['slug']);
         }
     }
     return $results;
 }
开发者ID:superstarrajini,项目名称:cakepackages,代码行数:92,代码来源:Package.php


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