在线看片18_亚洲性吧_在线污_神马午夜达达兔_奇米色网_在线免费看污

框架啟動(dòng)流程

一、自動(dòng)加載

我們?cè)趫?zhí)行如下命令的時(shí)候:

php easyswoole.php server start

項(xiàng)目目錄下的 easyswoole 這個(gè)文件,會(huì)搜索項(xiàng)目目錄下是否存在 composer 所生成的 autoload.php 這個(gè)文件,用于實(shí)現(xiàn) psr-4 自動(dòng)加載,當(dāng)文件不存在的時(shí)候,則終止框架啟動(dòng)。

二、基礎(chǔ)常量定義

在搜索到了 autoload.php 文件后,框架啟動(dòng)腳本則會(huì)認(rèn)定為已經(jīng)成功注冊(cè)了 composer 的自動(dòng)加載機(jī)制,隨后,會(huì)根據(jù)autoload.php 所在的位置,進(jìn)行如下幾個(gè)常量的預(yù)定義。

  • IN_PHAR

    定義規(guī)則為 defined('IN_PHAR') or define('IN_PHAR', boolval(\Phar::running(false)));,該常量可以用于判定當(dāng)前服務(wù)是否在 PHAR 環(huán)境中。

  • RUNNING_ROOT

    定義規(guī)則為 defined('RUNNING_ROOT') or define('RUNNING_ROOT', $realCwd);,該常量可以用于定義當(dāng)前服務(wù)運(yùn)行的根目錄,是一個(gè)絕對(duì)路徑。

  • EASYSWOOLE_ROOT

    定義規(guī)則為 defined('EASYSWOOLE_ROOT') or define('EASYSWOOLE_ROOT', IN_PHAR ? \Phar::running() : $realCwd);,該常量用于定義當(dāng)前項(xiàng)目所在路徑的根目錄,是一個(gè)絕對(duì)路徑。

三、bootstrap 文件引入

EasySwoole 啟動(dòng)腳本會(huì)判斷在項(xiàng)目根目錄下,也就是 EASYSWOOLE_ROOT.'/bootstrap.php' 這個(gè)文件是否存在,如果存在,那么則會(huì)執(zhí)行一次 require_once。用戶可以在框架沒有做任何的真實(shí)初始化之前,做自己的預(yù)處理或者是預(yù)定義。(注:3.4.x及以上版本在框架安裝時(shí)會(huì)自動(dòng)生成一個(gè) bootstrap 文件在項(xiàng)目根目錄,3.4.x 之前的版本需要用戶自行添加。)

四、啟動(dòng)命令解析

EasySwoole 主框架定義了一個(gè)命令容器,完整命名空間為 \EasySwoole\EasySwoole\Command\CommandRunner,這個(gè)是一個(gè)單例對(duì)象,是對(duì) \EasySwoole\Command\CommandManager 對(duì)象的進(jìn)一步調(diào)用封裝。在對(duì)象的構(gòu)造函數(shù)中,默認(rèn)注冊(cè)了 EasySwoole 自帶的幾個(gè)命令:

  • Crontab
  • Install
  • PhpUnit
  • Process
  • Server
  • Task

以如下啟動(dòng)命令為例:

php easyswoole.php server start -d

-d 可選,為守護(hù)啟動(dòng)參數(shù)

CommandRunner 會(huì)執(zhí)行 server 命令的 start 行為,其中,server 命令的完整實(shí)現(xiàn)在 \EasySwoole\EasySwoole\Command\DefaultCommand\Server

Server 主命令

server 主命令被執(zhí)行時(shí),做了以下操作:

  • 判斷是否指定了運(yùn)行模式
    $mode = CommandManager::getInstance()->getOpt('mode');
    if(!empty($mode)){
      Core::getInstance()->runMode($mode);
    }
  • 執(zhí)行框架的初始化 \EasySwoole\EasySwoole\Core::getInstance()->initialize()

Start 行為

start 行為中,做了如下兩件事:

  • 獲取配置對(duì)象并設(shè)置運(yùn)行時(shí)必須參數(shù)
  • 執(zhí)行框架的最終啟動(dòng) \EasySwoole\EasySwoole\Core::getInstance()->createServer()->start();
主站蜘蛛池模板: 欧美不卡视频在线观看 | 青青自拍视频 | 天堂在线观看中文字幕 | 97蜜桃网| 人人干97 | 日韩欧美综合视频 | 性欧美日本 | 69福利视频| 色图视频 | 日韩欧美中文字幕在线视频 | 日韩欧美一级视频 | 亚洲麻豆 | av在线超碰| 色偷偷免费视频 | 激情五月婷婷色 | 亚洲日本中文字幕在线 | 亚洲色在线视频 | 亚洲欧美日韩国产 | 亚洲精品亚洲人成人网 | 亚洲aa视频| 国内精品视频在线 | a级网站在线观看 | 一区二区三区福利视频 | 伊人爱爱 | 四虎永久网站 | 国产a网站 | 少妇久久久久久久 | 在线看毛片网站 | 色在线免费观看 | www久久com| 天堂av中文字幕 | 超碰在97 | 黄色亚洲视频 | 91热精品 | 久久精品视频久久 | 免费av在线播放 | 免费在线观看成人 | 精品国产第一页 | 亚洲综合二区 | 一级大片免费看 | 永久免费网站视频在线观看 |