Cake\View\Helper\UrlHelper(View $view, array $config = [])¶UrlHelper は他のヘルパーから URL を生成することが容易になります。 アプリケーションのヘルパーでコアヘルパーをオーバーライドすることによって URL の生成方法を カスタマイズする単一の場所を提供します。このやり方は ヘルパーの別名 セクションをご覧ください。
Cake\View\Helper\UrlHelper::build(mixed $url = null, boolean|array $full = false)¶コントローラーとアクションの組み合わせを指定することで URL を生成して返します。
$url が空の場合、 REQUEST_URI を返します。そうでない場合、
コントローラーとアクションの組み合わせで URL を生成します。
full が true の場合、結果がフルベース URL で返されます。
echo $this->Url->build([
    "controller" => "Posts",
    "action" => "view",
    "bar",
]);
// 出力結果
/posts/view/bar
さらにいつかの使用例は、こちら:
拡張子つきの URL:
echo $this->Url->build([
    "controller" => "Posts",
    "action" => "list",
    "_ext" => "rss",
]);
// 出力結果
/posts/list.rss
フルベース URL を前につけた ('/' から始まる) URL:
echo $this->Url->build('/posts', true);
// 出力結果
http://somedomain.com/posts
GET パラメーターとフラグメントアンカーの URL:
echo $this->Url->build([
    "controller" => "Posts",
    "action" => "search",
    "?" => ["foo" => "bar"],
    "#" => "first",
]);
// 出力結果
/posts/search?foo=bar#first
上記の例で使用している ? キーは、あなたが使用しているクエリー文字列パラメーターを
明示したい場合やクエリー文字列パラメーターをあなたのルートプレースホルダーの一つと名前を
共有したい場合に便利です。
名前付きルートの URL:
echo $this->Url->build(['_name' => 'product-page', 'slug' => 'i-m-slug']);
// 以下のようにルートをセットアップすることを仮定:
// $router->connect(
//     '/products/:slug',
//     [
//         'controller' => 'Products',
//         'action' => 'view',
//     ],
//     [
//         '_name' => 'product-page',
//     ]
// );
/products/i-m-slug
第2パラメーターは、HTML エスケープやベースパスを追加するかどうかを制御するオプションを 定義できます。
$this->Url->build('/posts', [
    'escape' => false,
    'fullBase' => true,
]);
以下は、アセットタイムスタンプ付きの URL が <link rel="preload"/> で囲まれており、
フォントをプリロードしています。注意: ファイルは存在していなければならず、
Configure::read('Asset.timestamp') は、タイムスタンプを追加するために
true または 'force' を返さなければなりません。
echo $this->Html->meta([
    'rel' => 'preload',
    'href' => $this->Url->assetUrl(
        '/assets/fonts/yout-font-pack/your-font-name.woff2'
    ),
    'as' => 'font',
]);
バージョン 3.3.5 で追加: build() は、3.3.5 より第2引数として配列を受け取ります。
バージョン 3.6.0 で追加: timestamp オプションが build() に追加されました。
CSS や JavaScript、または画像ファイルの URL を生成する場合、 これらのアセットタイプのためのヘルパーメソッドがあります。
// 出力結果 /img/icon.png
$this->Url->image('icon.png');
// 出力結果 /js/app.js
$this->Url->script('app.js');
// 出力結果 /css/app.css
$this->Url->css('app.css');
// メソッドの呼び出し時にタイムスタンプを強制
$this->Url->css('app.css', ['timestamp' => 'force']);
// または、メソッド呼び出し時にタイムスタンプを無効化
$this->Url->css('app.css', ['timestamp' => false]);
バージョン 3.2.4 で追加: アセットヘルパーメソッドは 3.2.4 で追加されました。
バージョン 3.6.0 で追加: timestamp オプションが、アセットのヘルパーメソッドに追加されました。
詳細は API の Router::url を確認してください。