このトピックは、私がプログラミングを始めたばかりの、遠く離れた子供時代に由来し、PHPの機能を整理しました。 当時、私はこの不正に驚いていました。通常の連想配列(
$ _SESSION )と同様にセッションを操作でき、Cookieの場合は
setcookie()関数を使用する必要がありました。 その後、私はすでに経験を積んで、なぜこれがそのように行われたのかを理解しました。
時間が経ち、PHPが止まることはありません。SPLのような素晴らしいものがあります。その可能性の1つは、オブジェクトを配列としてアクセスすることです。
ArrayAccessインターフェースの実装。
そして今、私は子供時代のアイデアである
$ _COOKIE配列を思い出し、それを実装しました:
<?php $_COOKIE['lang'] = 'ru';
あなたはカットの下で実装を見ることができます
<?php class CookieStorage implements ArrayAccess {
このソリューションは、単純な
setcookie()関数と比較してどの程度優れていますか? 少なくとも、レコードはブラウザとグローバルな
$ _COOKIE配列に同時に
送られます(ページがリロードされる前であっても、それを操作する必要がある場合があります)。 このオプションでは、ほとんどのデフォルトパラメータを設定し、これらのパラメータを調整できます。 クラスを使用すると、特定の条件に応じて必要な機能を追加できます。
いずれにせよ、これは普遍的な理想的な解決策ではありません。 これは自転車です。はい、これは私の自転車です。 これは、%username%が好む可能性があるアイデアであり、問題に対する包括的なソリューションに発展させます。