本文整理匯總了PHP中Autoloader::setRootPath方法的典型用法代碼示例。如果您正苦於以下問題:PHP Autoloader::setRootPath方法的具體用法?PHP Autoloader::setRootPath怎麽用?PHP Autoloader::setRootPath使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Autoloader
的用法示例。
在下文中一共展示了Autoloader::setRootPath方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: setRootPath
protected static $_appInitPath = '';
public static function setRootPath($root_path)
{
self::$_appInitPath = $root_path;
}
/**
* 根據命名空間加載文件
*
* @param string $name
* @return boolean
*/
public static function loadByNamespace($name)
{
// 相對路徑
$class_path = str_replace('\\', DIRECTORY_SEPARATOR, $name);
$class_file = self::$_appInitPath . '/' . $class_path . '.php';
// 找到文件
if (is_file($class_file)) {
// 加載
require_once $class_file;
if (class_exists($name, false)) {
return true;
}
}
return false;
}
}
$doc_root = dirname(__DIR__);
Autoloader::setRootPath($doc_root . '/src');
// 設置類自動加載回調函數
spl_autoload_register('Autoloader::loadByNamespace');
示例2: run
/**
* 運行worker實例
*/
public function run()
{
//更新 Worker 狀態
self::$_status = self::STATUS_RUNNING;
// 注冊進程退出回調,用來檢查是否有錯誤
register_shutdown_function(array("Worker", 'checkErrors'));
// 設置自動加載根目錄
Autoloader::setRootPath($this->_appInitPath);
// 如果沒有全局事件輪詢,則創建一個
if (!self::$globalEvent) {
if (extension_loaded('libevent')) {
self::$globalEvent = new Libevent();
} else {
self::$globalEvent = new Select();
}
// 監聽_mainSocket上的可讀事件(客戶端連接事件)
if ($this->_socketName) {
if ($this->transport !== 'udp') {
self::$globalEvent->add($this->_mainSocket, EventInterface::EV_READ, array($this, 'acceptConnection'));
} else {
self::$globalEvent->add($this->_mainSocket, EventInterface::EV_READ, array($this, 'acceptUdpConnection'));
}
}
}
// 重新安裝事件處理函數,使用全局事件輪詢監聽信號事件
self::reinstallSignal();
// 用全局事件輪詢初始化定時器
Timer::init(self::$globalEvent);
// 如果有設置進程啟動回調,則執行
if ($this->onWorkerStart) {
call_user_func($this->onWorkerStart, $this);
}
// 子進程主循環
self::$globalEvent->loop();
}