CakePHP を使用した CakePHP クッキー管理 の処理は簡単かつ安全です。 CakePHP クッキー管理を管理するために使用されるCakePHP クッキー管理Componentクラスがあります。このクラスは、CakePHP クッキー管理 を操作するためのメソッドをいくつか提供します。
CakePHP クッキー管理 を操作するには、この 2 つのクラスをコントローラーに追加します -
use Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理; use Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理Collection;
CakePHP クッキー管理 を登録するには、最初に CakePHP クッキー管理 オブジェクトを作成する必要があります。
$cookie = new CakePHP クッキー管理(name,value,expiration time,path,domain);
名前と値は必須であり、その他はオプションのパラメータです。
次に、CakePHP クッキー管理 を記述するための構文を示します。
$cookie = new CakePHP クッキー管理(name,value,expiration time,path,domain);
作成された CakePHP クッキー管理 は、以下に示すように cookieCollection に追加する必要があります -
$cookie = new CakePHP クッキー管理('name','XYZ'); $cookies = new CakePHP クッキー管理Collection([$cookie]);
CakePHP クッキー管理 コレクション オブジェクトがすでに作成されている場合は、以下に示すように残りの CakePHP クッキー管理 を追加できます -
$cookies = $cookies->add($cookie);
CakePHP クッキー管理 を読み取るには、cookiecollection の get() メソッドを使用します。
CakePHP クッキー管理 を読み取るための構文は次のとおりです -
Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理Collection::get($name)
これにより、cookiecollection インターフェイスが返されます。CakePHP クッキー管理 の値を取得するには、メソッド getValue() を呼び出す必要があります。
Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理Collection Interface::getValue()
cookieCollection の has() メソッドは、CakePHP クッキー管理 が存在するかどうかを示します。
Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理Collection::has($name)
echo $isPresent = $this->cookies->has('name');
remove() メソッドは、CakePHP クッキー管理 を削除するために使用されます。以下は、remove() メソッドの構文です。
Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理Collection::remove($name)
remove() メソッドは引数を 1 つ取り、削除する CakePHP クッキー管理 変数の名前 ($name) を受け取ります。
$test = $this->cookies->remove('name');
次のプログラムに示すように、config/routes.php ファイルを変更します。
config/routes.php
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware; use Cake\Routing\Route\DashedRoute; use Cake\Routing\RouteBuilder; $routes->setRouteClass(DashedRoute::class); $routes->scope('/', function (RouteBuilder $builder) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('cookie/testcookies',['controller'=>'CakePHP クッキー管理s','action'=>'testCakePHP クッキー管理s']); $builder->fallbacks(); });
src/Controller/CakePHP クッキー管理sController.php に CakePHP クッキー管理sController.php ファイルを作成します。 コントローラー ファイルに次のコードをコピーします。
src/Controller/CakePHP クッキー管理s/CakePHP クッキー管理sController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理; use Cake\Http\CakePHP クッキー管理\CakePHP クッキー管理Collection; class CakePHP クッキー管理sController extends AppController{ public $cookies; public function testCakePHP クッキー管理s() { $cookie = new CakePHP クッキー管理('name','XYZ'); $this->cookies = new CakePHP クッキー管理Collection([$cookie]); $cookie_val = $this->cookies->get('name'); $this->set('cookie_val',$cookie_val->getValue()); $isPresent = $this->cookies->has('name'); $this->set('isPresent',$isPresent); $this->set('count', $this->cookies->count()); $test = $this->cookies->remove('name'); $this->set('count_afterdelete', $test->count()); } } ?>
src/Template にディレクトリ CakePHP クッキー管理s を作成し、そのディレクトリの下に test_cookies.php. という名前の View ファイルを作成します。そのファイル内の次のコード。
src/Template/CakePHP クッキー管理/test_cookies.php
The value of the cookie is: <?php echo $cookie_val; ?> <br> <?php if($isPresent): ?> The cookie is present. <?php else: ?> The cookie isn't present. <?php endif; ?> <br> <?php echo "The count of cookie before delete is :" .$count; ?> <br> <?php echo "The count of cookie after delete is :" .$count_afterdelete; ?>
次の URL にアクセスして、上記の例を実行します-http://localhost/cakephp4/cookie/testcookies
以上がCakePHP クッキー管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。