ホームページ > 記事 > PHPフレームワーク > thinkphpのuメソッドの使い方
thinkphp の u メソッドは、URL アドレスの組み立てを完了するために使用されます。その特徴は、現在の URL モードと設定に基づいて、対応する URL アドレスを自動的に生成できることです。その使用構文は "U('address' ,'パラメータ' ,'疑似静的','ジャンプするかどうか','ドメイン名を表示');"。
この記事の動作環境: Windows 7 システム、ThinkPHP バージョン 5.0、Dell G3 コンピューター。
thinkphp の u メソッドを使用するにはどうすればよいですか?
U メソッドは、URL アドレスの組み立てを完了するために使用されます。その特徴は、現在の URL モードと設定に基づいて、対応する URL アドレスを自動的に生成できることです。形式は次のとおりです:
テンプレート内のU('地址','参数','伪静态','是否跳转','显示域名');
URL アドレスをハードコーディングする代わりに U メソッドを使用する利点は、環境が変更されたりパラメーター設定が変更された場合でも、テンプレート内のコードを変更する必要がないことです。
テンプレート内の呼び出し形式は {:U('address', 'parameter'...)} である必要があります。
基本的な使用法
U メソッドの使用例:
U('User/add') // 生成User模块的add操作地址
グループ呼び出しもサポートできます:
U('Home/User/add') // 生成Home分组的User模块的add操作地址
もちろん、現在のモジュールの呼び出しを示す操作名を記述することもできます。
U('add') // 生成当前访问模块的add操作地址
グループ名、モジュール名、操作名に加えて、いくつかのパラメータも渡すことができます:
U('Blog/read?id=1') // 生成Blog模块的read操作 并且id为1的URL地址
U メソッドの 2 番目のパラメータは受信パラメータをサポートし、配列と 2 つの定義メソッドをサポートします。最初のパラメータで文字列パラメータのみを定義できる場合、次のメソッドは同等です:
U('Blog/cate',array('cate_id'=>1,'status'=>1)) U('Blog/cate','cate_id=1&status=1') U('Blog/cate?cate_id=1&status=1')
ただし、次の定義メソッドではパラメータを渡すことはできません:
U('Blog/cate/cate_id/1/status/1')
別のメソッドによると、プロジェクトの URL 設定では、同じ U メソッド呼び出しで次のような異なる URL アドレス効果をインテリジェントに生成できます。
U('Blog/read?id=1')
この定義は一例です。
現在の URL が通常モードに設定されている場合、最後に生成された URL アドレスは次のとおりです。
http://serverName/index.php?m=Blog&a=read&id=1
現在の URL が PATHINFO モードに設定されている場合、最後に生成された URL アドレスは次のとおりです。
http://serverName/index.php/Blog/read/id/1
現在の URL が REWRITE モードに設定されている場合、同じメソッドで最終的に生成される URL アドレスは次のとおりです。
http://serverName/Blog/read/id/1
PATHINFO 区切り文字も設定している場合:
'URL_PATHINFO_DEPR'=>'_'
以上です。生成
http://serverName/Blog_read_id_1
現在の URL が REWRITE モードに設定され、擬似静的サフィックスが html に設定されている場合、同じメソッドで生成される最終的な URL アドレスは次のとおりです:
http://serverName/Blog/read/id/1.html
複数の場合擬似静的サフィックスが静的サポートに設定されている場合、最初の擬似静的サフィックスが URL アドレスの末尾に自動的に追加されます。もちろん、U メソッドで生成される擬似静的サフィックスを手動で指定することもできます。例:
U('Blog/read','id=1','xml')
は
http://serverName/Blog/read/id/1.xml
ルーティング サポートを生成します
U メソッドはルーティングもサポートできます。ルーティング ルールを次のように定義すると:
'news/:id\d'=>'News/read'
次に最終的に生成された
U('/news/1')
の URL を使用できます。アドレスは次のとおりです。
http://serverName/index.php/news/1
ドメイン名サポート
アプリケーションに複数のサブドメイン名の操作アドレスが含まれる場合は、次のこともできます。 U メソッドでアドレスを生成する必要があるドメイン名を指定します。例:
U('Blog/read@blog.thinkphp.cn','id=1');
@ の後に指定する必要があるドメイン名を渡すだけです。
さらに、U メソッドの 5 番目のパラメーターが true に設定されている場合、現在のドメイン名が自動的に認識され、現在のアドレスのサブドメイン名がサブドメイン名の展開に基づいて自動的に生成されることを意味します。設定 APP_SUB_DOMAIN_DEPLOY および APP_SUB_DOMAIN_RULES。
URL_CASE_INSENSITIVE がオンになっている場合、小文字の URL アドレスが均一に生成されます。
アンカー サポート
バージョン 3.1.2 以降、U メソッドは URL アドレスでのアンカー ポイントの生成もサポートできるようになりました。例:
U('Blog/read#comment','id=1','html')
は
http://serverName/Blog/read/id/1.html#comment# を生成します。 ##ドメイン名とアンカーを同時に使用する場合は、順序が最初にアンカー、次にドメイン名であることに注意してください。例: U('Blog/read#comment@blog', 'id=1');
推奨: "最新の 10 件の thinkphp ビデオ チュートリアル "
以上がthinkphpのuメソッドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。