我开始用Symfony2建立一个网站,我对资源有点窘迫.
Symfony2 Book说每个资源文件都必须在Bundle中,但是我在每个页面的base.html.twig文件中使用的最重要的图像,.js和.css文件呢?
我应该为这些文件制作一个CoreBundle或类似的东西,还是应该将它们放在app\Resources文件夹中(或者直接放在web文件夹中)?如果我可以使用app\Resources文件夹,我如何从模板中引用这些文件?
为此创建一个Bundle似乎有点不必要,而且我认为这些文件的资产URL也很难看(例如'/bundles/projectcore/images/logo.jpg').
这里的最佳做法是什么?
我有过将所有文件保存在/ web(即/ web/js)和其他我保存在'Assets'包中的情况.
如果您正在开发一个将在许多项目中重用的软件包,那么将资产存储在该软件包中是有意义的.我想你会使用命令行将这些资产发布/安装到web文件夹.例如,假设您有一个需要特定CSS的BlogBundle.您可以将css存储在该捆绑包中,因此下次将BlogBundle用于项目时,您可以轻松地重用该css.
与Symfony2的许多其他内容一样,您的个人偏好在这些决策中起着重要作用.我建议保持与您存储资产的位置保持一致.必须管理分为三个不同位置(Web,AssetsBundle,其他捆绑包)的资产可能是一个令人头痛的问题.所以选择一个位置,并尽量保持一致.
至于从app/Resources访问资产......您可以使用Assetic.我不是很熟悉它,但我相信你可以从项目的任何地方加载资产.我实际上建议看看核心的Assetic代码(查看vendor\Assetic)而不是Symfony2 Assetic助手,因为你会更好地了解可能的内容.
| 归档时间: |
|
| 查看次数: |
3524 次 |
| 最近记录: |