在 Slim 3 中使用 Twig 时需要定义 $basepath 吗?
Do you need to define $basepath when using Twig with Slim 3?
我正在使用 Slim 的 Twig-View - https://github.com/slimphp/Twig-View - 组件将 Twig 模板渲染到 Slim 框架。
页面上有一套完整的说明,可以很容易地使用它。问题是在 Slim 的模板页面上 - http://www.slimframework.com/docs/features/templates.html - 还有另一组说明,除了实例化部分外几乎相同。
而 Twig-View 具有以下内容:
$basePath = rtrim(str_ireplace('index.php', '', $c['request']->getUri()->getBasePath()), '/');
$view->addExtension(new Slim\Views\TwigExtension($c['router'], $basePath));
模板页面的代码经过了更精简:
$view->addExtension(new \Slim\Views\TwigExtension(
$container['router'],
$container['request']->getUri()
));
两者都有效。所以我的问题真的是:是否需要定义 $basePath 变量,或者有什么理由不使用更精简的代码版本?
感谢阅读,如果您对此事有任何想法,请告诉我。
如果您 运行 在子目录中精简,您只需要担心 basePath
,因为它代表不属于路由的那部分路径。
我正在使用 Slim 的 Twig-View - https://github.com/slimphp/Twig-View - 组件将 Twig 模板渲染到 Slim 框架。
页面上有一套完整的说明,可以很容易地使用它。问题是在 Slim 的模板页面上 - http://www.slimframework.com/docs/features/templates.html - 还有另一组说明,除了实例化部分外几乎相同。
而 Twig-View 具有以下内容:
$basePath = rtrim(str_ireplace('index.php', '', $c['request']->getUri()->getBasePath()), '/');
$view->addExtension(new Slim\Views\TwigExtension($c['router'], $basePath));
模板页面的代码经过了更精简:
$view->addExtension(new \Slim\Views\TwigExtension(
$container['router'],
$container['request']->getUri()
));
两者都有效。所以我的问题真的是:是否需要定义 $basePath 变量,或者有什么理由不使用更精简的代码版本?
感谢阅读,如果您对此事有任何想法,请告诉我。
如果您 运行 在子目录中精简,您只需要担心 basePath
,因为它代表不属于路由的那部分路径。