1

私は自分のルートを次のように定義しました:

$app->get('/about', function ($request, $response, $args) {
    return $this->view->render($response, 'about.twig');
})->setName('about.page');

次のような名前でルートリンクを取得することに興味があります。{% get_route('about.page') %}

どうすればこれを達成できますか?

4

2 に答える 2

4

Slim3にはそのpath_for(name)機能があります。例:

{{ path_for('about.page') }}

参照: http://www.slimframework.com/docs/features/templates.html

slim/twig-viewコンポーネントは、カスタム関数を Twig テンプレートに公開しpath_for()ます。この関数を使用して、Slim アプリケーション内の任意の名前付きルートへの完全な URL を生成できます。このpath_for()関数は 2 つの引数を受け入れます。

  • 1 ルート名
  • 2 ルートのプレースホルダー名と置換値のハッシュ

注:path_forはルータの機能を使用します。$router->pathFor(..)

使わない理由{%

{%は twig の制御構造体であり、制御構造体Message: Unknown "path_for" tag in "base.twig" at line XX.のようなタグが定義されていないため表示されるため、twig はこれが実際に関数であることを知りません。したがって、 twig で出力構造体を使用します{{

于 2016-11-01T19:14:58.687 に答える