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


PHP Y::createObject方法代码示例

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


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

示例1: __construct

 private function __construct()
 {
     if (!isset(Y::$app->log['targets'])) {
         throw new InvalidConfigException('No log targets found');
     }
     if (isset(Y::$app->log['traceLevel'])) {
         $this->traceLevel = Y::$app->log['traceLevel'];
     }
     if (isset(Y::$app->log['flushInterval'])) {
         $this->flushInterval = Y::$app->log['flushInterval'];
     }
     foreach (Y::$app->log['targets'] as $config) {
         if (isset($config['class'])) {
             $clazz = Y::createObject($config['class'], [$config]);
             $clazz->on($clazz::EVENT_FLUSH, $clazz);
             $this->targets[] = $clazz;
         }
     }
 }
开发者ID:yulipu,项目名称:yframework,代码行数:19,代码来源:Logger.php

示例2: createController

 /**
  * 创建控制器
  * 路由 'xxx/yyy' 中 xxx 可能为模块 id 或前缀目录  
  * 如 xxx 模块的 yyy 控制器 或 xxx 目录下的 yyy 控制器
  *
  * @return Object 控制器
  */
 public function createController()
 {
     // $route eg. index/index
     $route = Request::getInstance()->getParam($this->defaultRouteParam);
     if ('' === $route || '/' === $route) {
         $route = $this->defaultRoute;
     }
     // 检测非法 与 路径中不能有双斜线 '//'
     $route = trim($route, '/');
     if (0 === preg_match('/^[\\w\\-]+$/', $route) && false !== strpos($route, '//')) {
         return null;
     }
     $_moduleId = '';
     $_controllerId = '';
     $_routePrefix = '';
     // 前缀目录
     // 优先解析自定义路由
     $resolveRoute = $this->resolveUserRoute($route);
     if ('' !== $resolveRoute[0] || '' !== $resolveRoute[1]) {
         $_moduleId = $resolveRoute[0];
         $_controllerId = $resolveRoute[1];
         $_routePrefix = str_replace('/', '\\', $resolveRoute[2]);
         // namespace path
         if ('' !== $_moduleId && !isset($this->modules[$_moduleId])) {
             throw new InvalidConfigException('The config module ' . $_moduleId . ' not found');
         }
     } else {
         // 解析路由
         if (false !== strpos($route, '/')) {
             list($_moduleId, $_controllerId) = explode('/', $route, 2);
         } else {
             $_moduleId = $route;
             $_controllerId = '';
         }
         // 解析前缀目录
         $_routePrefix = $_moduleId;
         if (false !== ($pos = strrpos($_controllerId, '/'))) {
             $_routePrefix .= '/' . substr($_controllerId, 0, $pos);
             $_controllerId = substr($_controllerId, $pos + 1);
             $_routePrefix = str_replace('/', '\\', $_routePrefix);
             // namespace path
         }
     }
     // 保存当前控制器标示
     $this->controllerId = '' === $_controllerId ? $this->defaultControllerId : $_controllerId;
     // 搜索顺序 模块控制器 -> 普通控制器
     // 模块没有前缀目录
     if ('' !== $_moduleId && isset($this->modules[$_moduleId])) {
         $clazz = trim($this->modules[$_moduleId], '\\') . '\\controllers\\' . ucfirst($this->controllerId) . 'Controller';
         $this->moduleId = $_moduleId;
         return Y::createObject($clazz);
     }
     // 普通控制器有前缀目录
     $this->routePrefix = '' === $_routePrefix ? $this->controllerId : $_routePrefix;
     return Y::createObject($this->defaultControllerNamespace . '\\' . $this->routePrefix . '\\' . ucfirst($this->controllerId) . 'Controller');
 }
开发者ID:yulipu,项目名称:yframework,代码行数:63,代码来源:AppServiceTrait.php

示例3: errorHandler

 /**
  * 异常处理
  */
 public function errorHandler()
 {
     $handler = Y::createObject($this->errorHandler);
     $handler->register();
 }
开发者ID:yulipu,项目名称:yframework,代码行数:8,代码来源:Application.php

示例4: __construct

 public function __construct()
 {
     $this->view = Y::createObject($this->defaultView);
 }
开发者ID:yulipu,项目名称:yframework,代码行数:4,代码来源:Controller.php


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