當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。