<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 ThinkPHP使用`think\Cookie`類提供Cookie支持。 ## 初始化 大多數情況下,我們不需要進行`Cookie`的初始化,系統會在調用`Cooie`類方法的時候自動根據`cache`配置參數初始化,如果需要可以手動使用`init`方法進行初始化設置,例如: ``` <pre class="calibre18"> ``` <span class="hljs-comment">// cookie初始化</span> Cookie::init([<span class="hljs-string">'prefix'</span>=><span class="hljs-string">'think_'</span>, <span class="hljs-string">'expire'</span>=><span class="hljs-number">3600</span>, <span class="hljs-string">'path'</span>=><span class="hljs-string">'/'</span>]); <span class="hljs-comment">// 單獨指定當前前綴</span> Cookie::prefix(<span class="hljs-string">'think_'</span>); ``` ``` 支持的參數及默認值如下: ``` <pre class="calibre18"> ``` <span class="hljs-comment">// cookie 名稱前綴</span><span class="hljs-string">'prefix'</span> => <span class="hljs-string">''</span>, <span class="hljs-comment">// cookie 保存時間</span><span class="hljs-string">'expire'</span> => <span class="hljs-number">0</span>, <span class="hljs-comment">// cookie 保存路徑</span><span class="hljs-string">'path'</span> => <span class="hljs-string">'/'</span>, <span class="hljs-comment">// cookie 有效域名</span><span class="hljs-string">'domain'</span> => <span class="hljs-string">''</span>, <span class="hljs-comment">// cookie 啟用安全傳輸</span><span class="hljs-string">'secure'</span> => <span class="hljs-keyword">false</span>, <span class="hljs-comment">// httponly設置</span><span class="hljs-string">'httponly'</span> => <span class="hljs-string">''</span>, <span class="hljs-comment">// 是否使用 setcookie</span><span class="hljs-string">'setcookie'</span> => <span class="hljs-keyword">true</span>, ``` ``` ## 讀取Cookie 建議的讀取`Cookie`數據的方法是通過`Request`請求對象的`cookie`方法(原因和Session讀取一樣),例如: ``` <pre class="calibre18"> ``` <span class="hljs-keyword">namespace</span> <span class="hljs-title">app</span>\<span class="hljs-title">index</span>\<span class="hljs-title">controller</span>; <span class="hljs-keyword">use</span> <span class="hljs-title">think</span>\<span class="hljs-title">Request</span>; <span class="hljs-operator"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span></span>{ <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">index</span><span class="hljs-number">(Request <span class="hljs-regexp">$request</span>)</span></span>{ <span class="hljs-keyword">echo</span> <span class="hljs-regexp">$request</span>->cookie(<span class="hljs-string">'user_name'</span>); <span class="hljs-comment">// 讀取二維數組</span><span class="hljs-keyword">echo</span> <span class="hljs-regexp">$request</span>->cookie(<span class="hljs-string">'user.name'</span>); } } ``` ``` > 通過Request對象讀取Cookie數據支持默認值及過濾方法,因此也更加安全,并且支持多維數組的讀取。 當然也支持使用`Cookie`類直接讀取數據: ``` <pre class="calibre18"> ``` <span class="hljs-keyword">namespace</span> <span class="hljs-title">app</span>\<span class="hljs-title">index</span>\<span class="hljs-title">controller</span>; <span class="hljs-keyword">use</span> <span class="hljs-title">think</span>\<span class="hljs-title">Cookie</span>; <span class="hljs-operator"><span class="hljs-keyword">class</span> <span class="hljs-title">User</span></span>{ <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">index</span><span class="hljs-number">()</span></span>{ <span class="hljs-keyword">echo</span> Cookie::get(<span class="hljs-string">'user_name'</span>); } } ``` ``` > Cookie::get方法不支持讀取二維數組數據。 ## 模板輸出 同樣,可以使用下面的方法在模板文件中輸出Cookie值。 ``` <pre class="calibre18"> ``` {<span class="hljs-regexp">$Request</span>.cookie.user_name} ``` ``` ## `Cookie`操作 下面是一些關于Cookie的基礎操作方法。 ### 設置 ``` <pre class="calibre18"> ``` <span class="hljs-comment">// 設置Cookie 有效期為 3600秒</span> Cookie::set(<span class="hljs-string">'name'</span>,<span class="hljs-string">'value'</span>,<span class="hljs-number">3600</span>); <span class="hljs-comment">// 設置cookie 前綴為think_</span> Cookie::set(<span class="hljs-string">'name'</span>,<span class="hljs-string">'value'</span>,[<span class="hljs-string">'prefix'</span>=><span class="hljs-string">'think_'</span>, <span class="hljs-string">'expire'</span>=><span class="hljs-number">3600</span>]); <span class="hljs-comment">// 支持數組</span> Cookie::set(<span class="hljs-string">'name'</span>,[<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>]); ``` ``` ### 判斷 ``` <pre class="calibre18"> ``` <span class="hljs-regexp">Cookie</span>::<span class="hljs-function">has</span>(<span class="hljs-string">'name'</span>); <span class="hljs-comment">// 判斷指定前綴的cookie值是否存在</span><span class="hljs-regexp">Cookie</span>::<span class="hljs-function">has</span>(<span class="hljs-string">'name'</span>,<span class="hljs-string">'think_'</span>); ``` ``` ### 獲取 ``` <pre class="calibre18"> ``` <span class="hljs-regexp">Cookie</span>::<span class="hljs-function">get</span>(<span class="hljs-string">'name'</span>); <span class="hljs-comment">// 獲取指定前綴的cookie值</span><span class="hljs-regexp">Cookie</span>::<span class="hljs-function">get</span>(<span class="hljs-string">'name'</span>,<span class="hljs-string">'think_'</span>); ``` ``` ### 刪除 //刪除cookie ``` <pre class="calibre18"> ``` <span class="hljs-regexp">Cookie</span>::<span class="hljs-function">delete</span>(<span class="hljs-string">'name'</span>); <span class="hljs-comment">// 刪除指定前綴的cookie</span><span class="hljs-regexp">Cookie</span>::<span class="hljs-function">delete</span>(<span class="hljs-string">'name'</span>,<span class="hljs-string">'think_'</span>); ``` ``` ### 清空 ``` <pre class="calibre18"> ``` <span class="hljs-comment">// 清空指定前綴的cookie</span><span class="hljs-regexp">Cookie</span>::<span class="hljs-function">clear</span>(<span class="hljs-string">'think_'</span>); ``` ``` > 注意,目前不支持清空所有的`Cookie`數據,如果必須這樣做,請直接操作`$_COOKIE`變量。 ## 助手函數 系統提供了`cookie`助手函數用于基本的`Cookie`操作,可以完成前面的所有功能,例如: ``` <pre class="calibre42"> ``` <span class="hljs-comment">// 初始化</span> cookie([<span class="hljs-string">'prefix'</span> => <span class="hljs-string">'think_'</span>, <span class="hljs-string">'expire'</span> => <span class="hljs-number">3600</span>]); <span class="hljs-comment">// 設置</span> cookie(<span class="hljs-string">'name'</span>, <span class="hljs-string">'value'</span>, <span class="hljs-number">3600</span>); <span class="hljs-comment">// 判斷</span> cookie(<span class="hljs-string">'?name'</span>); <span class="hljs-comment">// 獲取</span><span class="hljs-keyword">echo</span> cookie(<span class="hljs-string">'name'</span>); <span class="hljs-comment">// 刪除</span> cookie(<span class="hljs-string">'name'</span>, <span class="hljs-keyword">null</span>); <span class="hljs-comment">// 清除</span> cookie(<span class="hljs-keyword">null</span>, <span class="hljs-string">'think_'</span>); ``` ```
                  <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>

                              哎呀哎呀视频在线观看