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


PHP Controller::actions方法代码示例

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


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

示例1: controllerActions

 private static function controllerActions(\yii\base\Controller $controller)
 {
     $actions = array_keys($controller->actions());
     $reflection = new \ReflectionClass($controller);
     foreach ($reflection->getMethods() as $method) {
         if (!preg_match('/^action([A-Z].*)/', $method->name, $matches)) {
             continue;
         }
         $actions[] = self::getRouteName($matches[1]);
     }
     return $actions;
 }
开发者ID:burnb,项目名称:yii2-rbac-cms-module,代码行数:12,代码来源:AuthItemChild.php

示例2: getControllerActions

 /**
  * @param Controller $controller
  *
  * @return array
  */
 public function getControllerActions(Controller $controller)
 {
     $actions = array_keys($controller->actions());
     $class = new \ReflectionClass($controller);
     foreach ($class->getMethods() as $method) {
         $name = $method->getName();
         if ($method->isPublic() && !$method->isStatic() && mb_strpos($name, self::ACTION_METHOD) === 0 && $name !== 'actions') {
             if (\Yii::$app->id == $controller->module->id) {
                 continue;
             }
             $action = Inflector::camel2id(mb_substr($name, mb_strlen(self::ACTION_METHOD)));
             $actions[] = $action;
         }
     }
     asort($actions);
     return $actions;
 }
开发者ID:voodoo-mobile,项目名称:yii2-core,代码行数:22,代码来源:Metadata.php

示例3: getActionRoutes

 /**
  * Get route of action
  * @param \yii\base\Controller $controller
  * @param array $result all controller action.
  */
 private function getActionRoutes($controller, &$result)
 {
     $token = "Get actions of controller '" . $controller->uniqueId . "'";
     Yii::beginProfile($token, __METHOD__);
     try {
         $prefix = '/' . $controller->uniqueId . '/';
         foreach ($controller->actions() as $id => $value) {
             $result[] = $prefix . $id;
         }
         $class = new \ReflectionClass($controller);
         foreach ($class->getMethods() as $method) {
             $name = $method->getName();
             if ($method->isPublic() && !$method->isStatic() && strpos($name, 'action') === 0 && $name !== 'actions') {
                 $result[] = $prefix . Inflector::camel2id(substr($name, 6));
             }
         }
     } catch (\Exception $exc) {
         Yii::error($exc->getMessage(), __METHOD__);
     }
     Yii::endProfile($token, __METHOD__);
 }
开发者ID:luoche,项目名称:iisns,代码行数:26,代码来源:RouteController.php

示例4: getActionRoutes

 /**
  * Get route of action
  * @param \yii\base\Controller $controller
  * @param array $result all controller action.
  */
 protected function getActionRoutes($controller, &$result)
 {
     $token = "Get actions of controller '" . $controller->uniqueId . "'";
     Yii::beginProfile($token, __METHOD__);
     try {
         $prefix = '/' . $controller->uniqueId . '/';
         foreach ($controller->actions() as $id => $value) {
             $result[$prefix . $id] = $prefix . $id;
         }
         $class = new \ReflectionClass($controller);
         foreach ($class->getMethods() as $method) {
             $name = $method->getName();
             if ($method->isPublic() && !$method->isStatic() && strpos($name, 'action') === 0 && $name !== 'actions') {
                 $name = strtolower(preg_replace('/(?<![A-Z])[A-Z]/', ' \\0', substr($name, 6)));
                 $id = $prefix . ltrim(str_replace(' ', '-', $name), '-');
                 $result[$id] = $id;
             }
         }
     } catch (\Exception $exc) {
         Yii::error($exc->getMessage(), __METHOD__);
     }
     Yii::endProfile($token, __METHOD__);
 }
开发者ID:max-wen,项目名称:yii2-app-advanced-autoEnv,代码行数:28,代码来源:Route.php

示例5: getActionRoutes

 /**
  * @param \yii\base\Controller $controller
  * @param Array                $result all controller action.
  */
 private static function getActionRoutes($controller, &$result)
 {
     $prefix = '/' . $controller->uniqueId . '/';
     foreach ($controller->actions() as $id => $value) {
         $result[] = $prefix . $id;
     }
     $class = new \ReflectionClass($controller);
     foreach ($class->getMethods() as $method) {
         $name = $method->getName();
         if ($method->isPublic() && !$method->isStatic() && strpos($name, 'action') === 0 && $name !== 'actions') {
             $result[] = $prefix . Inflector::camel2id(substr($name, 6));
         }
     }
 }
开发者ID:gpis88ce,项目名称:Gpis88ce,代码行数:18,代码来源:AuthHelper.php

示例6: getActions

 /**
  * @param \yii\base\Controller $controller
  * @return array
  */
 protected function getActions(\yii\base\Controller $controller)
 {
     $actions = [];
     // inline actions
     $reflection = new \ReflectionObject($controller);
     $methods = $reflection->getMethods(\ReflectionMethod::IS_PUBLIC);
     $methods = array_filter($methods, function ($method) {
         return strpos($method->name, 'action') === 0 && $method->name != 'actions';
     });
     foreach ($methods as $method) {
         $actionId = strtolower(preg_replace('/([A-Z]){1}/', '-$1', lcfirst(substr($method->name, 6))));
         $dockBlock = null;
         try {
             $dockBlock = new DocBlockReflection($method);
         } catch (\Exception $e) {
         }
         $action = new ActionAdapter($controller->createAction($actionId), $dockBlock);
         $actions[$actionId] = $action;
     }
     // external actions
     foreach ($controller->actions() as $actionId => $alias) {
         $actions[$actionId] = new ActionAdapter($controller->createAction($actionId));
     }
     return $actions;
 }
开发者ID:VictorGub,项目名称:yii2-swagger,代码行数:29,代码来源:GenerateController.php

示例7: getActionRoutes

 /**
  * 
  * @param \yii\base\Controller $controller
  * @param Array $result all controller action.
  */
 private static function getActionRoutes($controller, &$result)
 {
     $prefix = '/' . $controller->uniqueId . '/';
     //print_r(['controllerId'=>$controller->id,'moduleId'=>$controller->module->id]);
     foreach ($controller->actions() as $id => $value) {
         //$result[$controller->module->id][$controller->id][] = $id;
         if (Yii::$app->id == $controller->module->id) {
             continue;
         }
         self::setActionList($id, $result);
         self::setControllerList($controller, $result);
         self::setModuleList($controller->module, $result);
         $result['map'][$controller->module->id][$controller->id][] = $id;
         /*
                     $result['model'][] = [
                                     'module' => $controller->module->id,
                                     'controller' => $controller->id,
                                     'action'    =>  $id,
                                 ];
                     //*/
     }
     $class = new \ReflectionClass($controller);
     foreach ($class->getMethods() as $method) {
         $name = $method->getName();
         if ($method->isPublic() && !$method->isStatic() && strpos($name, 'action') === 0 && $name !== 'actions') {
             //$result[$controller->module->id][$controller->id][] = Inflector::camel2id(substr($name, 6));
             if (Yii::$app->id == $controller->module->id) {
                 continue;
             }
             $action = Inflector::camel2id(substr($name, 6));
             self::setActionList($action, $result);
             self::setControllerList($controller, $result);
             self::setModuleList($controller->module, $result);
             $result['map'][$controller->module->id][$controller->id][] = $action;
             /*
                             $result['model'][] = [
                                         'module' => $controller->module->id,
                                         'controller' => $controller->id,
                                         'action'    =>  $action,
                                     ];
                             //*/
         }
     }
 }
开发者ID:highestgoodlikewater,项目名称:yii2-metadata,代码行数:49,代码来源:MetaData.php


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