<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國際加速解決方案。 廣告
                # COOKIE 當使用HTTP/HTTPS協議并需要使用COOKIE時,可參考此部分的使用說明。 ## COOKIE的基本使用 如同其他的服務一樣,我們在使用前需要對COOKIE進行注冊。COOKIE服務注冊在```\PhalApi\DI()->cookie```中,可以使用[PhalApi\Cookie](https://github.com/phalapi/kernal/blob/master/src/Cookie.php)實例進行初始化,如: ```php $config = array('domain' => '.phalapi.net'); \PhalApi\DI()->cookie = new PhalApi\Cookie($config); ``` 其中,```PhalApi\Cookie```的構造函數是一個配置數組,上面指定了Cookie的有效域名/子域名。其他的選項還有: 配置選項|說明|默認值 ---|---|--- path|Cookie有效的服務器路徑|NULL domain|Cookie的有效域名/子域名|NULL secure|是否僅僅通過安全的HTTPS連接傳給客戶端|FALSE httponly|是否僅可通過HTTP協議訪問|FALSE 注冊COOKIE服務后,便可以開始在項目中使用了。COOKIE的使用主要有三種操作,分別是:設置COOKIE、獲取COOKIE、刪除COOKIE。下面是一些簡單的使用示例。 ```php // 設置COOKIE // Set-Cookie:"name=phalapi; expires=Sun, 07-May-2017 03:26:45 GMT; domain=.phalapi.net" \PhalApi\DI()->cookie->set('name', 'phalapi', $_SERVER['REQUEST_TIME'] + 600); // 獲取COOKIE,輸出:phalapi echo \PhalApi\DI()->cookie->get('name'); // 刪除COOKIE \PhalApi\DI()->cookie->delete('name'); ``` ## 記憶加密升級版 實際情況,項目對于COOKIE的使用情況更為復雜。比如,需要對數據進行加解密,或者需要突破COOKIE設置后下一次請求才能生效的限制。為此,PhalApi提供一個升級版的COOKIE服務。其特點主要有: + 1、對COOKIE進行加密輸出、解密獲取 + 2、自帶記憶功能,即本次請求設置COOKIE后便可直接獲取 當需要使用這個升級版COOKIE替代簡單版COOKIE服務時,可使用[PhalApi\Cookie\MultiCookie](https://github.com/phalapi/kernal/blob/master/src/Cookie/MultiCookie.php)實例進行重新注冊。在初始化時,```PhalApi\Cookie\MultiCookie```構建函數的第一個參數配置數組,除了上面簡單版的配置項外,還有: 配置選項|說明|默認值 ---|---|--- crypt|加解密服務,須實現PhalApi\Crypt接口|\PhalApi\DI()->crypt key|crypt使用的密鑰|debcf37743b7c835ba367548f07aadc3 假設項目中簡單地使用base64對COOKIE進行加解密,則可先添加加解密服務的實現類。 ```php <?php namespace App\Common\Crypt\Base64Crypt; use PhalApi\Crypt; class Base64Crypt implements Crypt { public function encrypt($data, $key) { return base64_encode($data); } public function decrypt($data, $key) { return base64_decode($data); } } ``` 隨后,在文件```./config/di.php```使用該加解密實現類重新注冊```\PhalApi\DI()->cookie```服務,由于加解密中未使用到密鑰```$key```,所以可以不用配置。 ```php $config = array('domain' => '.phalapi.net', 'crypt' => new App\Common\Crypt\Base64Crypt()); $di->cookie = new PhalApi\Cookie\Multi($config); ``` 最后,便可在項目中像簡單版原來那樣使用升級版的COOKIE服務了,但設置的COOKIE值則是經過加密后的。 ``` // 設置COOKIE // Set-Cookie:"name=cGhhbGFwaQ%3D%3D; expires=Sun, 07-May-2017 03:27:57 GMT; domain=.phalapi.net" \PhalApi\DI()->cookie->set('name', 'phalapi', $_SERVER['REQUEST_TIME'] + 600); ``` 此外,在同一次請求中,設置了某個COOKIE后,也可以“即時”獲取了。 在使用COOKIE時,需要注意: + 1、敏感數據不要存到COOKIE,以保證數據安全性 + 2、盡量不要在COOKIE存放過多數據,避免產生不必要的流量消耗 ## 擴展:定制專屬的COOKIE 當項目中需要定制專屬的COOKIE服務時,可以繼承[PhalApi\Cookie](https://github.com/phalapi/kernal/blob/master/src/Cookie.php)基類,并按需要重寫對應的接口。主要的接口有三個: + 設置COOKIE:```PhalApi\Cookie::set($name, $value, $expire = NULL)``` + 獲取COOKIE:```PhalApi\Cookie::get($name = NULL)``` + 刪除COOKIE:```PhalApi\Cookie::delete($name)``` 值得注意的是,在實現子類的構造函數中,需要調用PhalApi_Cookie基類的構造方法,以便初始化配置選項。實現子類后,重新注冊便可使用,這里不再贅述。
                  <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>

                              哎呀哎呀视频在线观看