ThinkPHP3.1新機能 アクションパラメータバインディング_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:24:43
オリジナル
915 人が閲覧しました

ThinkPHP バージョン 3.1 の Action パラメーター バインディング機能は、URL 変数と操作メソッドのパラメーター バインディング サポートを提供し、操作メソッドの定義とパラメーターの取得をより明確にし、モジュール間での操作メソッドの呼び出しも容易にします。この新しい機能は、以前の操作メソッドの使用には影響しません。新しいメソッドを使用して、以前の操作メソッドの定義を変換することもできます。

アクションパラメータバインディングの原理は、URL内のパラメータ(グループ、モジュール、操作アドレスを除く)をコントローラの操作メソッド内のパラメータにバインドすることです。たとえば、Blog モジュールには read メソッドと archive メソッドという 2 つの操作メソッドを定義しました。read 操作では id パラメータを指定する必要があるため、archive メソッドでは year (年) と month (月) の 2 つのパラメータを指定する必要があります。

リーリー

URLのアクセスアドレスは:

リーリー

2 つの URL アドレスの id パラメーターと年月パラメーターは、読み取り操作メソッドとアーカイブ操作メソッドの同じ名前のパラメーターに自動的にバインドされます。
出力結果は次のとおりです:

リーリー

Action パラメータにバインドされるパラメータは、URL で渡されるパラメータと同じ名前を持つ必要がありますが、パラメータの順序は同じである必要はありません。つまり

リーリー

アクセス結果は上記と一致しています。URL 内のパラメータの順序と操作メソッド内のパラメータの順序は、パラメータ名が一致していることを確認することが重要です。
ユーザーがアクセスした URL アドレスが次の場合 (なぜこの方法でアクセスするのかは言うまでもありません):

リーリー

その後、次の例外プロンプトがスローされます:

パラメータエラー: id

エラーの理由は非常に単純です。読み取り操作メソッドを実行するときに id パラメーターを渡す必要がありますが、メソッドが URL アドレスから正しい id パラメーター情報を取得できないためです。ユーザーからの入力は信頼できないため、読み取りメソッドの id パラメーターにデフォルト値を追加することをお勧めします。例:

リーリー

訪問時はこちら

リーリー

すると出力されます

リーリー

ご来店の際は

リーリー

の場合、出力:

リーリー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825373.html技術記事 ThinkPHP バージョン 3.1 の Action パラメーター バインディング機能は、URL 変数と操作メソッドのパラメーター バインディング サポートを提供します。この機能により、操作メソッドの定義とパラメーターの取得がより明確になり、また便利です...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート