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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 為什么要單獨創建一個Request 禁止使用`$_SERVER`,因為這個管理不了。 在 `swoole (雖然有)` `phpunit (cli模式)` 運行怎么辦? 可是沒有 `$_SERVER` `$_POST` .... 等超全局變量的。 (`swoole` 有`$_SERVER` ,但是更加禁止使用) 單獨創建的原因: 可以管理 ## 編輯composer.json 添加映射 ``` "core\\": "core/" ``` ![](https://img.kancloud.cn/0a/15/0a158d29a6d796634b9112b380b329b0_383x176.png) 是不是多此一舉? `composer` 自動加載并不會識別 `core`是那個目錄。 `tp5`的 ![](https://img.kancloud.cn/5a/05/5a05d91c99a5afed2ff549816e718d61_244x76.png) ## 關于違背psr規范 `request` 輪子 `應該` 遵守[# PSR-7 HTTP 消息接口規范](https://learnku.com/docs/psr/psr-7-http-message/1616) 你可以在這里看到 `psr-7` 的代碼: https://github.com/php-fig/http-message 違背原因: 太多方法了,我是不會實現這些接口的,因為對于教程,會增加非常多的代碼。 ## 創建core/request/RequestInterface.php ``` <?php namespace core\request; interface RequestInterface { public function __construct($uri, $method, $headers); // 初始化 public static function create($uri, $method, $headers); // 創建request對象 public function getUri(); // 獲取請求url public function getMethod(); // 獲取請求方法 public function getHeader(); // 獲取請求頭 } ``` ## 創建 core/request/PhpRequest.php ``` <?php namespace core\request; class PhpRequest implements RequestInterface { protected $url; protected $method; protected $headers; public function __construct($uri,$method,$headers) { $this->uri = $uri; $this->method = $method; $this->headers = $headers; } // 創建一個請求 public static function create($uri,$method,$headers = []) { return new static($uri, $method, $headers); // new 自己 } public function getUri() { return $this->uri; } public function getMethod() { return $this->method; } public function getHeader() { } } ``` ### 運行 ![](https://img.kancloud.cn/cf/1a/cf1ae28650caadd7ca7ffe44c9da645a_794x419.png) ![](https://img.kancloud.cn/47/09/4709e545d198bac2b5516c93fac1834a_543x220.png)
                  <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>

                              哎呀哎呀视频在线观看