thinkPHPパラメータが渡されました

次のように動作パラメータの関数の方法を結合、自動的にまだコントローラ上記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のパラメータのデフォルト値が使用されていますWorldnameパラメータに渡された場合に使用されます。

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アドレスを使用しなければならないことを意味値、合格するために定義するnamecityにパラメータを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変数を使用することはできません。

 

 

 

 

おすすめ

転載: www.cnblogs.com/xu1115/p/10977611.html