easyswoole - 基于swoole扩展实现的一款高性能php框架

框架啟動流程

一、自動加載

我們在執行如下命令的時候:

php easyswoole.php server start

項目目錄下的 easyswoole 這個文件,會搜索項目目錄下是否存在 composer 所生成的 autoload.php 這個文件,用于實現 psr-4 自動加載,當文件不存在的時候,則終止框架啟動。

二、基礎常量定義

在搜索到了 autoload.php 文件后,框架啟動腳本則會認定為已經成功注冊了 composer 的自動加載機制,隨后,會根據autoload.php 所在的位置,進行如下幾個常量的預定義。

  • IN_PHAR

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

  • RUNNING_ROOT

    定義規則為 defined('RUNNING_ROOT') or define('RUNNING_ROOT', $realCwd);,該常量可以用于定義當前服務運行的根目錄,是一個絕對路徑。

  • EASYSWOOLE_ROOT

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

三、bootstrap 文件引入

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

四、啟動命令解析

EasySwoole 主框架定義了一個命令容器,完整命名空間為 \EasySwoole\EasySwoole\Command\CommandRunner,這個是一個單例對象,是對 \EasySwoole\Command\CommandManager 對象的進一步調用封裝。在對象的構造函數中,默認注冊了 EasySwoole 自帶的幾個命令:

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

以如下啟動命令為例:

php easyswoole.php server start -d

-d 可選,為守護啟動參數

CommandRunner 會執行 server 命令的 start 行為,其中,server 命令的完整實現在 \EasySwoole\EasySwoole\Command\DefaultCommand\Server

Server 主命令

server 主命令被執行時,做了以下操作:

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

Start 行為

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

  • 獲取配置對象并設置運行時必須參數
  • 執行框架的最終啟動 \EasySwoole\EasySwoole\Core::getInstance()->createServer()->start();
主站蜘蛛池模板: 集装箱零配件_不锈钢丝绳厂家_镀锌铁链条_合页非标件定制_上海英鑫多实业有限公司 | 铁行火车票_铁行火车票网上订票_铁行火车票客户端【铁行官网】 | 自复式过欠压保护器-上海能曼电气有限公司 | 塑胶跑道厂家_河北小区健身器材_悬浮地板-河北达创体育器材有限公司 | 珀金斯动力设备扬州有限公司| 正大制管-优质钢管制造商和服务商| 威海电子电镀,山东五金电镀,威海镀镍,山东镀铜镍铬-威海鑫镱金属制品厂 | 南通惠德彩钢有限公司-彩钢瓦,岩棉板,净化板,夹芯板,市政工地围挡板 | 水硬度在线分析仪-氟离子|悬浮固体浓度分析仪-ldo分析仪-上海植茂 | 津成电线电缆价格,天津津成线缆,津成线缆销售电话,天津津成线缆批发电话-天津市津成电线电缆有限公司 | 合金锤头_破碎机锤头_耐磨锤头_巩义市东辰实业有限公司 | 河南水处理设备_反渗透设备厂家_河南纯净水设备厂家-静特尔 | 湖南九农王机电设备有限公司官网 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 墨子百科-专业有趣的问题小百科| 湖北聚力汽车技术股份有限公司| 直膨式空调机组_风冷恒温恒湿_转轮式热回收_屋顶式空调机组_德州瑞尼森环保科技有限公司 | 山东发电机组生产厂家,特种火花塞生产厂家,高压线生产厂家,空气滤芯生产厂家,济南市博盛动力机械有限公司 | 热电阻_热电偶_压力表_压力变送器_磁翻板液位计 - 淮安忠和测控仪表有限公司 | 西安西玛电机销售,西安西玛电机有限公司(原泰富西玛西安电机厂) 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 西安网站建设,西安网站设计制作,西安短视频拍摄_短视频运营就选动力无限网络推广公司 | 中国国际石油石化技术装备展览会|振威展览 | 生物除臭_废气处理_玻璃钢风机_布袋除尘_脱硫脱硝_催化燃烧_生物滤池_广东正州环保科技股份有限公司 | -盐城市精工阀门有限公司 | 转盘萃取塔,DMF回收塔生产厂家-无锡弘鼎华化工设备有限公司 | 磐石在线-磐石市综合信息门户网www.pszx.com - Powered by Discuz! | 四方光电(武汉)仪器有限公司_四方仪器首页-烟气分析仪|尾气分析仪|煤气分析仪|沼气分析仪|天然气分析仪|超声波流量计|在线气体分析系统|红外气体传感器 | 压力容器锻件_升高法兰_管板_阀体_接管锻件 - 山西中重重工集团 压力机-压装机-黄油机-黄油泵-[广东品嘉灵]专业定制各种精密压装设备 | 铸造厂-铸铝-铸铜-铝合金铸造-重力铸造-翻砂铸造-[剑锋机械配件]专业东莞|深圳铸造厂 | 兰州职业学校-新华互联网学校咨询平台中心 | 轻触开关,拨动开关,德艺隆(DEALON)精密工业股份有限公司 | 上海同田生物技术有限公司-逆流色谱供应商和应用技术服务商 | 上海机械网 机械 机械加工 金属加工 上海机械网 机械设备 上海机械 | 潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机-潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机 潍坊网络推广,临沂360推广,东营360推广,枣庄360推广,潍坊网站建设,潍坊网络公司,潍坊360搜索,潍坊APP开发,潍坊360推广,潍坊360代理,潍坊点睛网络科技有限公司 | 陶瓷复合钢管-专业提供江苏陶瓷钢管和陶瓷内衬复合钢管的生产厂家 | 真空系统,真空泵租赁技术服务-兆德机械(上海)有限公司 | 全球无人机网(81uav.cn)_无人机买卖、租赁服务、培训的最大门户网站 | 网上配音_免费配音_广告专题配音_网络录音网站【海豚配音】 | 一次性妇科用品_一次性医疗用品_一次性口腔器械盒_天津市双利医疗器械有限责任公司 | 无机纤维抗菌板-A级不燃纤维板-石英纤维板厂家-医疗抗菌板-浙江德耐姆 | 外圆/圆管抛光机_方管抛光机/除锈机_活塞杆抛光机-不锈钢管抛光机-邢台欧邦机械 | 液压油缸_液压系统_液压泵站生产厂家-浙江汉达机械专注液压行业21年 |