ThinkPHP 5 は、柔軟なプログラミングと優れたパフォーマンスを提供する人気の PHP フレームワークです。このフレームワークを使用してプロジェクトを開発する場合、多くの場合、ID パラメーターを取得して渡す必要があります。この記事では、ThinkPHP 5 で ID を渡す方法を紹介します。
ThinkPHP 5 では、ID を取得する方法が多数あります。通常、ルーティング設定ファイル内のプレースホルダーを使用して ID を取得できます。たとえば、次のようにルートを定義します。
Route::get('user/:id','user/read');
上記のルートでは、:id
はプレースホルダーであり、id
という名前のパラメーターを取得することを示します。この時点で、user
モジュールの read
メソッドの request()
関数を使用して ID パラメーターを取得できます。コードは次のとおりです。上記の
public function read($id) { echo 'User ID: '.$id; }
コードでは、$id
パラメーターは、プレースホルダー :id
を介して渡される ID 値です。 read
メソッドで値を操作または出力できます。
プレースホルダーを使用してルーティングで ID 値を取得するだけでなく、request()
関数のパラメーターを通じてコントローラーで ID 値を取得することもできます。たとえば、User
モジュールの下に InformationController
コントローラがあり、edit
メソッドがあると仮定します。
パラメータは現在のリクエストの情報を取得するために使用され、id
という名前のパラメータ値は param()
を通じて取得されます。方法。このときに渡されるパラメータは、URL のクエリ文字列形式で渡す必要があります。例: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">public function edit(Request $request)
{
$id = $request->param('id');
echo 'Information ID: '.$id;
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記の URL では、
パラメータの値は です。 1
、つまり edit
メソッドに渡される ID 値です。 ルート内でプレースホルダーとクエリ文字列を使用して ID 値を渡すだけでなく、より高度な方法を使用してコード内で ID 値を取得することもできます。たとえば、次のように、ルート内のデフォルト値を使用して ID 値を取得できます。
http://example.com/index.php/user/information/edit?id=1
上記のコードでは、括弧を使用して
:id を [: id]
、ID のデフォルト値は ['id' => '\d ']
で数値として指定されます。この時点で、URL に ID 値が指定されていない場合は、デフォルト値が使用されます。例: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Route::get('user/[:id]','user/read', ['id' => '\d+']);</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記の URL では ID 値は渡されませんが、デフォルト値が使用されるため、
変数の値は 0# になります。 ##。デフォルト値メソッドを使用して、コントローラーまたはモデルの ID 値を取得することもできます。
要約すると、ThinkPHP 5 では ID 値を取得して渡す方法は数多くあります。必要に応じて、さまざまな方法を選択して ID 値を取得して渡し、コード内で処理して使用できます。実際の開発では、より柔軟なプログラミングやアプリケーションを実現するために、状況に応じてさまざまな方法を選択する必要があります。
以上がthinkphp5でIDを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。