<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Lying可以讓你隨心所欲的加載第三方類,甚至是讓你擴展一個Lying的服務組件。 [TOC] ### 單類、多類加載 如果你有一個文件,里面有一個類或者多個類,那么你可以這樣加載到Lying: ~~~php 'classMap' => [ //完整類名 => 類文件絕對路徑 'PHPExcel' => ROOT . '/Excel/PHPExcel.php', ], ~~~ ### PSR4加載 如果你有一個擴展類集,并且符合PSR4標準,那么你可以用PSR4標準來加載類: ~~~php 'psr-4' => [ //命名空間前綴 => 路徑 //路徑可以是一個數組,參見 http://www.php-fig.org/psr/psr-4/examples/ 'module' => DIR_MODULE, ], ~~~ ### PSR0加載 如果你手上有一個第三方類庫,但是很不幸它只符合PSR0規范,那么你就可以用PSR0來加載它: ~~~php 'psr-0' => [ //根目錄列表,參見 https://gist.github.com/jwage/221634 ROOT . '/extend' ], ~~~ ### composer加載 如果你習慣使用composer,那么你可以用composer來加載你所需的擴展類: ~~~php "require":{ "php": ">=5.5.0", "ext-pdo": "*", //你需要的擴展 } ~~~ 定義完你需要加載的類后,執行`composer install`。到這邊,你會看到Lying目錄下多了一個`vendor`目錄,這個就是composer的目錄,現在就可以使用第三方類啦。 ### 擴展服務類 如果你想像Lying的組件一樣,擴展一個自己的組件: * 在框架根目錄創建一個文件夾,例如:`extend`。 * 定義一個服務類,文件名為`MyExt.php`并且放在`extend`目錄下,加載方式為PSR4: ~~~php 'psr-4' => [ 'module' => DIR_MODULE, 'extend' => ROOT . '/extend' ], ~~~ * 定義服務類`MyExt` ~~~ <?php namespace extend; use lying\service\Service; class MyExt extends Service { private $show; protected $name; protected $message; protected function init() { $this->show = $this->name . $this->message; } public function show() { return $this->show; } } ~~~ 這樣一個服務類就定義好了,現在畫一下重點: > 1. 可配置屬性應設置為`protected`或者`public`,上面定義了兩個可配置屬性`name`和`message`,一個不可配置屬性`show`。 > 2. 上面定義了一個`protected`方法`init()`。這個方法就相當于服務類的構造函數了,因為你不能在服務類定義真正的構造函數,你可以在這個方法中做一些你想在構造函數做的事情。`init`方法不是必須的。 > 3. 上面定義了一個公開方法`show()`,這個就是你服務類可調用的方法了。 * 配置服務類 現在你可以在配置文件`service.php`中配置你的服務類: ~~~php 'me' => [ 'class' => 'extend\MyExt', 'name' => 'lying', 'message' => 'hello', ], ~~~ 如上:配置服務類`extend\MyExt`的ID為`me`,并且設置兩個可配置屬性`name`和`message`。 * 使用服務類 ~~~php $m = \Lying::$maker->get('me'); //或者 $m = \Lying::$maker->me; //或者 $m = \Lying::$maker->me(); //調用方法 echo $m->show(); ~~~ 你可以看到輸出了`lyinghello`。 > 到此為止,一個自定義的服務類就完成啦。
                  <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>

                              哎呀哎呀视频在线观看