thinkphp では、I メソッドの名前は、システム入力変数をより安全かつ便利に取得するために使用される「Input」に由来しています。構文は「I('変数の種類.変数名',['デフォルト値' ],['フィルター メソッド'])"; ここで、変数の型は大文字と小文字が区別されませんが、変数名は厳密に大文字と小文字が区別されます。
この記事の動作環境: Windows 10 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
ThinkPHP の I メソッドは、多くの単一文字関数の新しいメンバーであり、その名前は英語の入力 (input) に由来しており、主に次の目的で使用されます。より便利で安全な機能 どこでも使えるシステム入力変数を取得 使用形式は
I('変数の種類.変数名',['デフォルト値'],['フィルタメソッド']) 変数タイプは、リクエスト モードまたは入力タイプを指します。
各変数タイプの意味は次のとおりです。 変数タイプの意味
get は GET パラメータを取得します
post は取得を取得しますPOST パラメータ
param は、GET、POST、または PUT パラメータを取得するためのリクエスト タイプを自動的に決定します
リクエストは REQUEST パラメータを取得します
put は PUT パラメータを取得します
session は $_SESSION パラメータを取得します
cookie は $_COOKIE パラメータを取得します
サーバーは $_SERVER パラメータを取得します
globals は $GLOBALS パラメータを取得します
注: 変数の型は大文字と小文字が区別されません。
変数名では大文字と小文字が厳密に区別されます。
デフォルト値とフィルタリング方法はオプションのパラメータです。
1. 使用法:
I メソッドの使用方法を説明するために、GET 変数タイプを例として取り上げます:
echo I('get.id'); // 相当于 $_GET['id'] echo I('get.name'); // 相当于 $_GET['name']
サポートのデフォルト値:
echo I('get.id',0); // 如果不存在$_GET['id'] 则返回0 echo I('get.name',''); // 如果不存在$_GET['name'] 则返回空字符串
Adopt メソッド フィルタリング:
echo I('get.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_GET['name'] 进行过滤,如果不存在则返回空字符串
は、変数タイプ全体の直接取得をサポートしています。たとえば、次のようになります。
I('get.'); // 获取整个$_GET 数组
同様に、post または他の入力タイプの変数を取得できます。たとえば、次のようになります。
I('post.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_POST['name'] 进行过滤,如果不存在则返回空字符串 I('session.user_id',0); // 获取$_SESSION['user_id'] 如果不存在则默认为0 I('cookie.'); // 获取整个 $_COOKIE 数组 I('server.REQUEST_METHOD'); // 获取 $_SERVER['REQUEST_METHOD']
param 変数タイプは、現在のリクエスト タイプの自動決定をサポートするフレームワーク固有の変数取得メソッドです。例:
echo I('param.id');
現在のリクエスト タイプが GET の場合、それは同等です。現在のリクエストの場合、$_GET['id'] に送信します。タイプが POST または PUT の場合、$_POST['id'] または PUT パラメータ ID を取得するのと同じです。
また、param タイプ変数は、数値インデックスを使用して URL パラメーターを取得することもできます (PATHINFO モード パラメーターは、GET か POST かに関係なく有効である必要があります)。例:
現在のアクセス URLアドレスは
http://serverName/index.php/New/2013/06/01
なので、
echo I('param.1'); // 输出2013 echo I('param.2'); // 输出06 echo I('param.3'); // 输出01
を渡すことができます。実際には、param の書き方変数の型は次のように簡略化できます:
I('id'); // 等同于 I('param.id') I('name'); // 等同于 I('param.name')
推奨される学習: 「PHP ビデオ チュートリアル 」
以上がthinkphp で I メソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。