1. コンストラクター:
コントローラー クラスは、使用する thinkController クラスを継承する必要があります:
method_initialize
コード:
<?php namespace appliancontroller;use thinkController;use thinkDb;use thinkRequest;class Index extends Controller { public function _initialize() { echo 'init|||'; } public function hello() { return 'hello'; } }
出力を確認します:
2. プレメソッド:
['excel' => ; 'メソッド名, メソッド名']:
は、これらのメソッドがプレフィックスメソッドを使用しないことを意味します。
['only' => 'メソッド名, メソッド名']:
は、これらのメソッドのみがプレフィックスメソッドを使用することを意味します。
***********************************分割線************ ****** *************************
beforeActionList 属性は、他のメソッドの事前操作としてメソッドを指定できます。
コード :
<?php namespace appliancontroller;use thinkController;use thinkDb;use thinkRequest;class Index extends Controller {protected $beforeActionList = [ 'first', 'second' => ['except'=>'hello'], 'three' => ['only'=>'hello'], ]; protected function first() { echo 'first<br/>'; } protected function second() { echo 'second<br/>'; } protected function three() { echo 'three<br/>'; } public function hello() { return 'hello'; } }
出力を見てください:
これは hello のみを出力するはずですが、前の操作のため 3 つのメソッドが出力されます
注: この操作では、名前は小文字にする必要があります。
3. URL 情報を取得します
PARAM 変数を取得する
PARAM 変数は、GET、POST、または PUT リクエストを自動的に識別するためにフレームワークによって提供される変数取得メソッドです。システムが推奨するリクエストパラメータの取得方法は次のとおりです:
グローバル入力変数の検出、取得、セキュリティフィルタリングは、リクエストオブジェクト~
<?php namespace appliancontroller; use thinkController; use thinkDb; use thinkRequest; class Index extends Controller { public function index(){ $request = Request::instance(); // 获取当前域名 echo 'domain: ' . $request->domain() . '<br/>'; // 获取当前入口文件 echo 'file: ' . $request->baseFile() . '<br/>'; // 获取当前URL地址 不含域名 echo 'url: ' . $request->url() . '<br/>'; // 获取包含域名的完整URL地址 echo 'url with domain: ' . $request->url(true) . '<br/>'; // 获取当前URL地址 不含QUERY_STRING echo 'url without query: ' . $request->baseUrl() . '<br/>'; // 获取URL访问的ROOT地址 echo 'root:' . $request->root() . '<br/>'; // 获取URL访问的ROOT地址 echo 'root with domain: ' . $request->root(true) . '<br/>'; // 获取URL地址中的PATH_INFO信息 echo 'pathinfo: ' . $request->pathinfo() . '<br/>'; // 获取URL地址中的PATH_INFO信息 不含后缀 echo 'pathinfo: ' . $request->path() . '<br/>'; // 获取URL地址中的后缀信息 echo 'ext: ' . $request->ext() . '<br/>'; } }
// 获取当前请求的name变量 Request::instance()->param('name'); // 获取当前请求的所有变量(经过过滤) Request::instance()->param(); // 获取当前请求的所有变量(原始数据) Request::instance()->param(false); // 获取当前请求的所有变量(包含上传文件) Request::instance()->param(true);
5. デフォルトのパラメータバインドメソッドを通じて実行できます。変数名に従ってバインドすることです。
//获取REQUEST变量 Request::instance()->request('id'); // 获取某个request变量 Request::instance()->request(); // 获取全部的request变量(经过过滤) Request::instance()->request(false); // 获取全部的request原始变量数据
入力URL:
http://localhost/index.php/lian/index/read/id/544
出力:
変数に従ってバインドされるパラメータ名前は URL で渡される変数名と一致している必要がありますが、パラメータの順序は一致している必要はありません 上記のエラーが報告された場合、エラーの理由は非常に単純です。操作メソッドでは id パラメーターを渡す必要がありますが、メソッドは URL パラメーター情報から正しい ID を取得できません。ユーザー入力を信頼できないため、読み取りメソッドの id パラメーターにデフォルト値を追加することをお勧めします6. リクエスト タイプThinkPHP5.0 は、リクエスト タイプを処理するために一律に thinkRequest クラスを使用します。
取得リクエストのタイプ:
<?php public function read($id) { return 'id ='.$id; } public function archive($year = '2017',$month = '07') { return 'year ='.$year.'$month ='.$month; }
以上がthinkphp5.0 を使用して情報、変数、バインド パラメーターを取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。