當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Loader::addNamespace方法代碼示例

本文整理匯總了PHP中think\Loader::addNamespace方法的典型用法代碼示例。如果您正苦於以下問題:PHP Loader::addNamespace方法的具體用法?PHP Loader::addNamespace怎麽用?PHP Loader::addNamespace使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在think\Loader的用法示例。


在下文中一共展示了Loader::addNamespace方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: init

 private static function init()
 {
     // 加載初始化文件
     if (is_file(APP_PATH . 'init' . EXT)) {
         include APP_PATH . 'init' . EXT;
         // 加載模塊配置
         $config = Config::get();
     } else {
         // 加載模塊配置
         $config = Config::load(APP_PATH . 'config' . EXT);
         // 加載應用狀態配置
         if ($config['app_status']) {
             $config = Config::load(APP_PATH . $config['app_status'] . EXT);
         }
         // 讀取擴展配置文件
         if ($config['extra_config_list']) {
             foreach ($config['extra_config_list'] as $name => $file) {
                 $filename = APP_PATH . $file . EXT;
                 Config::load($filename, is_string($name) ? $name : pathinfo($filename, PATHINFO_FILENAME));
             }
         }
         // 加載別名文件
         if (is_file(APP_PATH . 'alias' . EXT)) {
             Loader::addMap(include APP_PATH . 'alias' . EXT);
         }
         // 加載行為擴展文件
         if (APP_HOOK && is_file(APP_PATH . 'tags' . EXT)) {
             Hook::import(include APP_PATH . 'tags' . EXT);
         }
         // 加載公共文件
         if (is_file(APP_PATH . 'common' . EXT)) {
             include APP_PATH . 'common' . EXT;
         }
     }
     // 注冊根命名空間
     if (!empty($config['root_namespace'])) {
         Loader::addNamespace($config['root_namespace']);
     }
     // 加載額外文件
     if (!empty($config['extra_file_list'])) {
         foreach ($config['extra_file_list'] as $file) {
             $file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
             if (is_file($file)) {
                 include_once $file;
             }
         }
     }
     // 設置係統時區
     date_default_timezone_set($config['default_timezone']);
     // 監聽app_init
     APP_HOOK && Hook::listen('app_init');
 }
開發者ID:xuyi5918,項目名稱:ipensoft,代碼行數:52,代碼來源:App.php

示例2: run

 /**
  * 執行應用程序
  * @access public
  * @param \think\Request $request Request對象
  * @return \think\Response
  * @throws Exception
  */
 public static function run($request)
 {
     // 初始化應用(公共模塊)
     self::initModule(COMMON_MODULE, Config::get());
     // 獲取配置參數
     $config = Config::get();
     // 注冊根命名空間
     if (!empty($config['root_namespace'])) {
         Loader::addNamespace($config['root_namespace']);
     }
     // 加載額外文件
     if (!empty($config['extra_file_list'])) {
         foreach ($config['extra_file_list'] as $file) {
             $file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
             if (is_file($file)) {
                 include_once $file;
             }
         }
     }
     // 設置係統時區
     date_default_timezone_set($config['default_timezone']);
     // 監聽app_init
     APP_HOOK && Hook::listen('app_init');
     // 開啟多語言機製
     if ($config['lang_switch_on']) {
         // 獲取當前語言
         defined('LANG_SET') or define('LANG_SET', Lang::range());
         // 加載係統語言包
         Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
         if (!APP_MULTI_MODULE) {
             Lang::load(APP_PATH . 'lang' . DS . LANG_SET . EXT);
         }
     }
     // 獲取當前請求的調度信息
     $dispatch = $request->dispatch();
     if (empty($dispatch)) {
         // 未指定調度類型 則進行URL路由檢測
         $dispatch = self::route($request, $config);
     }
     // 記錄路由信息
     APP_DEBUG && Log::record('[ ROUTE ] ' . var_export($dispatch, true), 'info');
     // 監聽app_begin
     APP_HOOK && Hook::listen('app_begin', $dispatch);
     try {
         switch ($dispatch['type']) {
             case 'redirect':
                 // 執行重定向跳轉
                 header('Location: ' . $dispatch['url'], true, $dispatch['status']);
                 break;
             case 'module':
                 // 模塊/控製器/操作
                 $data = self::module($dispatch['module'], $config);
                 break;
             case 'controller':
                 // 執行控製器操作
                 $data = Loader::action($dispatch['controller'], $dispatch['params']);
                 break;
             case 'method':
                 // 執行回調方法
                 $data = self::invokeMethod($dispatch['method'], $dispatch['params']);
                 break;
             case 'function':
                 // 規則閉包
                 $data = self::invokeFunction($dispatch['function'], $dispatch['params']);
                 break;
             case 'finish':
                 // 已經完成 不再繼續執行
                 break;
             default:
                 throw new Exception('dispatch type not support', 10008);
         }
     } catch (HttpResponseException $exception) {
         $data = $exception->getResponse();
     }
     // 輸出數據到客戶端
     if (isset($data)) {
         if ($data instanceof Response) {
             return $data->send();
         } else {
             // 監聽app_end
             APP_HOOK && Hook::listen('app_end', $data);
             // 自動響應輸出
             return Response::instance()->send($data, '', Config::get('response_return'));
         }
     }
 }
開發者ID:xuyi5918,項目名稱:ipensoft,代碼行數:93,代碼來源:App.php

示例3: initCommon

 /**
  * 初始化應用
  */
 public static function initCommon()
 {
     if (empty(self::$init)) {
         // 初始化應用
         $config = self::init();
         self::$suffix = $config['class_suffix'];
         // 應用調試模式
         self::$debug = Config::get('app_debug');
         if (!self::$debug) {
             ini_set('display_errors', 'Off');
         } else {
             //重新申請一塊比較大的buffer
             if (ob_get_level() > 0) {
                 $output = ob_get_clean();
             }
             ob_start();
             if (!empty($output)) {
                 echo $output;
             }
         }
         // 應用命名空間
         self::$namespace = $config['app_namespace'];
         Loader::addNamespace($config['app_namespace'], APP_PATH);
         if (!empty($config['root_namespace'])) {
             Loader::addNamespace($config['root_namespace']);
         }
         // 加載額外文件
         if (!empty($config['extra_file_list'])) {
             foreach ($config['extra_file_list'] as $file) {
                 $file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
                 if (is_file($file)) {
                     include_once $file;
                 }
             }
         }
         // 設置係統時區
         date_default_timezone_set($config['default_timezone']);
         // 監聽app_init
         Hook::listen('app_init');
         self::$init = $config;
     }
     return self::$init;
 }
開發者ID:GDdark,項目名稱:cici,代碼行數:46,代碼來源:App.php

示例4: define

<?php

// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 測試入口文件
define('IN_UNIT_TEST', true);
$_SERVER['REQUEST_METHOD'] = 'GET';
// 定義項目測試基礎路徑
define('TEST_PATH', __DIR__ . '/');
// 定義項目路徑
define('APP_PATH', __DIR__ . '/../../application/');
// 開啟調試模式
define('APP_DEBUG', true);
// 加載框架引導文件
require __DIR__ . '/../start.php';
\think\Loader::addNamespace('tests', TEST_PATH);
開發者ID:amiter,項目名稱:think,代碼行數:23,代碼來源:mock.php

示例5: define

<?php

/**
 * Created by PhpStorm.
 * User: remo
 * Date: 2016/7/20
 * Time: 12:49
 */
/**
 * Created by PhpStorm.
 * User: remo
 * Date: 2016/7/20
 * Time: 12:49
 */
define('TEST_PATH', __DIR__ . '/');
// 加載框架基礎文件
require __DIR__ . '/../thinkphp/base.php';
\think\Loader::addNamespace('tests', TEST_PATH);
\think\Loader::addNamespace('think', __DIR__ . '/../src/');
開發者ID:mcmf,項目名稱:auth,代碼行數:19,代碼來源:autoload.php

示例6: testAddNamespace

 public function testAddNamespace()
 {
     Loader::addNamespace('top', __DIR__ . DS . 'loader' . DS);
     $this->assertEquals(true, Loader::autoload('top\\test\\Hello'));
 }
開發者ID:cnzin,項目名稱:think,代碼行數:5,代碼來源:loaderTest.php


注:本文中的think\Loader::addNamespace方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。