ThinkPhp 3.xバージョンでは、u()メソッドを使用して、コントローラーとメソッドのURLパスを生成するためによく使用されます。たとえば、 Indexと呼ばれるメソッドを含むIndexControllerというコントローラーがあるとします。次のコードを使用して、メソッドのURLアドレスを生成できます。
$url = u('Index/index');
echo $url;
上記のコードを実行した後、 $ URLは/index.php/index/indexに類似したURLを出力します。
URLパスでパラメーターを渡す必要がある場合、u()メソッドにパラメーターの配列を渡すことができます。たとえば、情報メソッドを含み、パラメーターIDを渡す必要があるusercontrollerという名前のコントローラーがある場合、次のコードを使用できます。
$url = u('User/info', array('id' => 1));
echo $url;
実行後、 $ URLは/index.php/user/info/id/1に似たURLを生成します。
ThinkPhp 5.xバージョンでは、U()メソッドの機能が強化されています。コントローラーとメソッドのURLパスの生成に加えて、ルート、パラメーター、およびアンカーポイントも処理できます。たとえば、インデックスコントローラーとインデックスメソッドがあり、名前インデックスのルールがルートで定義されていると仮定します。コードは次のとおりです。
$url = u('index/index', array('id' => 1), '#top');
echo $url;
この時点で、 $ URLは/index.php/index/index/id/1.html#topのURLを生成します。
ThinkPhp 5.xバージョンでは、デフォルトでは、生成されたURLはindex.phpを表示しません。 index.phpを表示する必要がある場合は、u()メソッドの4番目のパラメーターでtrueを渡すことができます。
$url = u('index/index', array('id' => 1), '#top', true);
echo $url;
実行後、 $ URLは/index.php/index/index/id/1.html#topに類似したURLを出力します。
U()メソッドは、ThinkPhpフレームワークの重要な機能であり、アプリケーションでコントローラーとメソッドのURLパスを生成するために広く使用されています。 ThinkPhp 3.xバージョンでは、U()メソッドには3つのパラメーターが含まれており、コントローラーとメソッドのURLパスとパラメーターを使用してURLを生成できます。 ThinkPhp 5.xバージョンでは、u()メソッドは、ルート、パラメーター、アンカーのURLパスの生成など、より多くの関数をサポートしており、 index.phpを表示するかどうかを選択できます。
ThinkPhp 3.xバージョンであろうと5.xバージョンであろうと、U()メソッドは非常に高い柔軟性を提供し、ほとんどのWebアプリケーションのニーズを満たすことができます。