<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                #### 1、超全局管理-Swoolefy\Core\Swfy類 這個是參考了Yii2的設計思想,實現全局注冊樹模式,將一些全局服務函數,變量保存在類文件的靜態變量中,實現在每個worker|task進程中都存在完整的而且相同的上下文。 在swoolefy中,Swoolefy\Core\Swfy類作為超全局管理的類 ~~~ class Swfy extends \Swoolefy\Core\BaseObject { use \Swoolefy\Core\ServiceTrait; /** * $server swoole服務超全局變量 * @var null */ public static $server = null; /** * $config swoole服務對應協議層的配置 * @var null */ public static $config = []; /** * $appConfig 應用層的配置 * @var null */ public static $appConfig = []; /** * $com_alias_name 動態創建組件對象 * @param string $com_alias_name * @param array $defination * @return void */ public static function createComponent(string $com_alias_name, array $defination = []) { return Application::getApp()->creatObject($com_alias_name, $defination); } /** * removeComponent 銷毀Component * @param string|array $com_alias_name * @return void */ public static function removeComponent($com_alias_name = null) { return Application::getApp()->clearComponent($com_alias_name); } /** * getComponent 獲取組件 * @param string $com_alias_name * @return void */ public static function getComponent(string $com_alias_name = null) { return Application::getApp()->getComponents($com_alias_name); } ~~~ * trait使用 use \Swoolefy\Core\ComponentTrait, \Swoolefy\Core\ServiceTrait; 這說明Swoolefy將能使用這兩個trait文件定義的函數和屬性,具體可以查看文件 * $server swoole底層的服務server(例如http的\Swoole\Http\Server) 一般通過Swfy::getServer()獲取,可以在任何地方使用 * $config 服務協議層配置,通過Swfy::getConf()獲取,可以在任何地方使用 * appConfig 服務應用層配置,通過Swfy::getAppConf()獲取,可以在任何地方使用(除了自定義進程中) * createComponent() 動態創建一個組件實例,例如創建一個視圖組件實例,支持兩種方式,推薦使用閉包回調的方式,這樣更加靈活,只需返回組件對象即可 ~~~ // 配置模式 $view1 = Swfy:: createComponent('view1',['class'=>'Swoolefy\Core\View']) // 閉包回調模式 $view2 = Swfy::createComponent('view2', function($name) { return new Swoolefy\Core\View(); }) ~~~ #### 2、超全局管理-Swoolefy\Core\Application類 Application類其實很簡單,主要是做一些全局管理 ~~~ <?php namespace Swoolefy\Core; class Application { /** * $app 應用對象 * @var null */ public static $app = null; /** * $dump 記錄啟動時的調試打印信息 * @var null */ public static $dump = null; /** * __construct */ public function __construct() { } /** * __destruct */ public function __destruct() { } } ~~~ 我們在Controller或者mode或者其他類中編碼時,可以直接調用 ~~~ Application::getApp() 其實這個主要的用法是用來獲取組件的,例如獲取log組件實例,view實例 ~~~ $log = Application::getApp()->log; $view = Application::getApp()->view; ~~~ log,view這些組件名與在應用層配置文件components的定義的key一致,那么即可獲取到這個組件實例 那么為什么這樣子可以獲取組件呢,其實就是__get的魔術方法實現,原理就是當app應用實例找不到這個屬性時,就會到Di容器中找,因為組件實例都是寄存在這Di容器中,這個其實與Yii::$app相似。 具體需要了解,可以參考[https://github.com/bingcool/swoolefy/blob/master/score/Core/ComponentTrait.php](https://github.com/bingcool/swoolefy/blob/master/score/Core/ComponentTrait.php)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看