Symfony 2资产的文件结构

时间:2013-02-13 10:27:32

标签: php symfony

我正在Symfony 2中创建我的第一个项目,我对在每种情况下存储我的资产(CSS,JS,图像等)的位置感到困惑。

我开始了解模板系统如何工作,您应该将Bundles创建为独立的,然后在app / Resources中使用特定于站点的内容覆盖它们。

但是当谈到资产时,我是否会在app / Resources中为网站特定内容创建一个“公共”文件夹?

为什么捆绑包的某些资产会保留在网络/捆绑包中?

2 个答案:

答案 0 :(得分:1)

你必须将css,images,js等放入它们应该属于的包内的文件夹中。 此文件夹名为public,并包含在Resources文件夹中(显然,在其中,您可以为css,js,...分区创建其他文件夹)。

一旦你完成了,你可以使用(来自 C ommand L ine nterface又名 CLI )以下命令:

php app/console assets:install web

通过这种方式,您告诉symfony2(这是一种默认行为),将{strong>复制包含在public文件夹中的所有名为Resources的文件夹,转换为{ {1}}文件夹 Symfony将创建(或扩展,如果存在)名为web的文件夹,其中包含应用程序的所有资产(包括来自供应商的一些资产)。

请注意

如果您运行上述命令,那么您正在复制资源,因此每次更改资源时,都必须再次启动命令。更好的方法是使用符号链接更改上面的命令,如下所示

bundles

php app/console assets:install web --symlink 文件夹作为目标文件夹的原因是,您的Web服务器(apache或其他文件是相同的)应该只访问其中包含的资源,并使symfony2成为恢复所有资源的任务。

希望它有所帮助。

答案 1 :(得分:0)

尝试使用Symblog教程...... Symblog

This部分特别关注资产