次のように動作パラメータの関数の方法を結合、自動的にまだコントローラ上記URLパラメータを取得することができ、例えば、制御コードがあります:
<?php
namespace app\index\controller;
class Index
{ public function index() { return 'index'; } public function hello($name = 'World') { return 'Hello,' . $name . '!'; } }
ときに我々が訪問
http://tp5.com/index.php/index/index/hello
すなわち、アクセス、あるapp\index\controller\Index
コントローラクラスのhello
引数が渡されていないため、メソッドname
のパラメータのデフォルト値が使用されていますWorld
。nameパラメータに渡された場合に使用されます。
http://tp5.com/index.php/index/index/hello/name/thinkphp
ページ出力は次のようになります。
Hello,thinkphp!
二番目のパラメータを増加させるための方法こんにちは今:
public function hello($name = 'World', $city = '') { return 'Hello,' . $name . '! You come from ' . $city . '.'; }
アクセスアドレス
http://tp5.com/index.php/index/index/hello/name/thinkphp/city/shanghai
ページ出力は次のようになります。
Hello,thinkphp! You come from shanghai.
見ることができ、hello
この方法は、自動的にURLアドレスの方法でパラメータ値と同じ名前を取得し、URLは、注文パラメータに渡されたパラメータの順序に影響されない、例えば、以下のURLアドレスと、結果は上記と同じである出力します:
http://tp5.com/index.php/index/index/hello/city/shanghai/name/thinkphp
または使用
http://tp5.com/index.php/index/index/hello?city=shanghai&name=thinkphp
さらにURLアドレスを簡単にするために行うことができますが、前提は、我々は変数の代わりに、引数の明確な順序でなければならないということです、我々はURLパラメータの方法を変更してもらう、中にアプリケーション構成ファイルurl_param_type
次のようにパラメータの値が変更されます。
// 按照参数顺序获取
'url_param_type' => 1,
さて、値によって渡されたURLパラメータには、操作変数法に厳密に従っなり、我々は正しい、着信アクセスするには、次のURLアドレスを使用しなければならないことを意味値、合格するために定義するname
とcity
にパラメータをhello
する方法を:
http://tp5.com/index.php/index/index/hello/thinkphp/shanghai
ページ出力は次のようになります。
Hello,thinkphp! You come from shanghai.
順序は、パラメータを変更した場合
http://tp5.com/index.php/index/index/hello/shanghai/thinkphp
ページ出力は次のようになります。
Hello,shanghai! You come from thinkphp.
もちろん、我々は意図した結果ではありません。
同様に、我々は試してみました
http://tp5.com/index.php/index/index/hello/name/thinkphp/city/shanghai
アクセスは右の結果を得ることはありません。
注意を払います
引数をバインドするためには、動作パラメータの方法は、唯一の変数パス情報URLを使用することができますが、GETまたはPOST変数を使用することはできません。