【发布时间】:2014-04-10 13:48:56
【问题描述】:
我对树枝文件的路径有疑问。我想缩短路径。看我的例子:
class DefaultController extends Controller
{
public function indexAction($name)
{
return $this->render('CatalogFrontendBundle:Default:index.html.twig', array('name' => $name));
}
}
当然它会起作用,但是看看树枝文件的路径太长了。我现在可以使用像 @Template() 这样的注释,但我不想这样做。有没有其他方法可以使用默认的 twig 文件来呈现我的页面?
默认树枝文件 - 我理解为名称与操作方法名称相同的文件。因此,如果动作名称是 indexAction,则树枝文件的名称应该是 index.html.twig。
【问题讨论】:
-
正如你所说,你不想使用@Template(),但它是为你想要的而制作的......你有什么理由想再次发明轮子吗?
-
嘿,这是个好问题,你看这是我不做注释的想法。我读到他们很慢。我不喜欢路由注释,所以我决定不使用它。正因为如此,我喜欢找到制作类似于 @Template() 的方法
-
“我读到它们很慢”,在某些情况下。
@Template不会拖慢你的应用速度 -
@Template 并不慢。所有用于路由、模板等的不同方法都在第一次请求时被解析为 php 缓存文件,因此除了那个请求之外没有性能差异。
-
听起来你对 Symfony2 的哲学有异议。如果您最关心的是速度和简洁的代码,Symfony2 不是满足您需求的正确框架。 Symfony1 遵循 Ruby on Rails 的 RAD 哲学。 Symfony2 got rid of this preference toward magical conventions,主要基于像 Spring 这样的 Java 框架,这些框架支持显式和可读的代码。