Cookie は一般的な状態管理テクノロジとして、Web アプリケーション開発で広く使用されています。ユーザー名、ショッピングカートデータなどの単純なデータを保存して、異なるページ間で情報を渡すことができます。 ThinkPHP6 では、Cookie テクノロジーの使用も非常に簡単です。
ThinkPHP6 では、Cookie
クラスを使用して Cookie を設定できます。このクラスは、Cookie を簡単に設定、取得、削除できるいくつかのメソッドをカプセル化します。
use think acadeCookie; // 设置一个名为username的Cookie,值为admin,有效期为1天(以秒为单位) Cookie::set('username', 'admin', 86400);
上記のコードでは、set()
メソッドに 3 つのパラメータ (Cookie の名前、値、有効期間) があります。このうち有効期限はオプションパラメータであり、指定しない場合はデフォルトでブラウザを閉じると有効期限が切れます。
get()
メソッドを使用して Cookie の値を読み取ることができます:
use think acadeCookie; // 读取名为username的Cookie的值 $username = Cookie::get('username');
If Cookie存在しない場合は、null
が返されます。
Cookie を削除する必要がある場合は、delete()
メソッドを使用できます:
use think acadeCookie; // 删除名为username的Cookie Cookie::delete('username');
Cookie を設定する場合、4 番目のパラメーターを通じて Cookie オプションを設定できます。例:
use think acadeCookie; // 设置名为test的Cookie,值为123,有效期为1小时,只能通过HTTPS协议传输 Cookie::set('test', '123', 3600, [ 'httponly' => true, 'secure' => true, ]);
上記のコードでは、httponly
とsecure
の 2 つのオプションを設定します。httponly
オプションは、JavaScript での Cookie へのアクセスを防止し、セキュリティを強化します。secure
オプションは、Cookie が HTTPS プロトコルでのみ送信できることを示し、これもセキュリティ対策です。
Cookie
クラスを使用して View で Cookie を読み取ることもできます。例:
// 获取名为username的Cookie $username = hink acadeCookie::get('username'); // 在View中输出Cookie的值 echo '欢迎您,' . $username;
上記のコードでは、まずget()
メソッドを使用してusername
という名前の Cookie 値を取得し、それをビューに出力します。 。
以上は、ThinkPHP6 で Cookie テクノロジーを使用する方法です。 Cookieは非常にシンプルで使いやすい状態管理技術ですが、利用する際にはセキュリティに注意する必要があります。 XSS などのセキュリティ問題を防ぐために、可能な限り Cookie のセキュリティを強化するオプションを使用する必要があります。
以上がThinkPHP6 での Cookie テクノロジーの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。