インターネットの急速な発展に伴い、開発者は常に新しいテクノロジとフレームワークを模索しています。最も人気のあるフレームワークの 1 つは thinkphp です。 thinkphp は、開発プロセス中の効率を大幅に向上させることができ、優れたスケーラビリティとオープン性も備えた、効率的、高速、高性能の PHP フレームワークです。 thinkphp フレームワークでは、セッションは、特にユーザーのログイン検証と ID 認証において不可欠な部分です。この記事では、各ページでのセッション認証の設定方法をご紹介します。
1. thinkphp フレームワークでのセッションの使用
セッションは、ユーザーの一時情報を Web サイトに保存するために使用されるテクノロジーです。 thinkphp フレームワークでは、セッションの使用は非常に簡単です。次のコードを実行するだけです:
session_start(); //开启session $_SESSION['key'] = 'value'; //设置session变量
もちろん、thinkphp フレームワークで提供されているセッション クラスを使用して操作することもできます。具体的なコードは次のとおりです。
use think\facade\Session; Session::set('key', 'value');
2. セッションが存在するかどうかを自動的に確認する
システムのセキュリティを確保するために、ユーザーがログインしているかどうかを確認する必要があります。 thinkphp フレームワークでは、ミドルウェア メカニズムを使用して各ページでセッション検証を実行し、自動検証を実現できます。具体的なコードは次のとおりです。
namespace app\http\middleware; use Closure; use think\facade\Session; use think\exception\HttpException; class CheckLogin { public function handle($request, Closure $next) { if (!Session::has('user_id')) { throw new HttpException(401, '请先登录'); } return $next($request); } }
上記のコードでは、最初に名前空間 namespace を使用して、カスタム アプリケーション ミドルウェアが使用される場所、つまり "app\http\middleware" ディレクトリを定義します。 。 handle() メソッドでは、まず user_id 変数がセッションに存在するかどうかを判断することで、ユーザーがログインしているかどうかを判断します。ログインがない場合は、HTTP 例外がスローされ、ユーザーにログインを求めます。
3. コントローラーでのミドルウェアの使用
thinkphp フレームワークでは、コントローラーのコンストラクターでミドルウェアを呼び出して、ユーザーが正常にログインしているかどうかを確認することで、対応するチェックを追加できます。具体的なコードは以下の通りです:
namespace app\controller; use app\http\middleware\CheckLogin; use think\Controller; class Index extends Controller { protected $middleware = [ CheckLogin::class, ]; //index方法省略 }
上記コードでは名前空間を定義に使用しており、Controllerクラスはthinkフレームワークの親クラスを継承してミドルウェアCheckLoginを定義しています。コントローラー、ユーザーのログイン ID を確認するミドルウェア。
この記事では主に、thinkphp フレームワークでセッションを使用してユーザーがログインしているかどうかを確認する方法と、ミドルウェアのメカニズムを使用して各ページの自動検証を実現する方法を紹介します。セッションの応用を上手にマスターしたい場合は、やはり長い練習と学習のプロセスが必要です。この記事が読者の学習や実践に役立つことを願っています。
以上がthinkphp が各ページでセッション検証を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。