了解Symfony2中的体系结构和文件夹结构?

时间:2011-10-02 11:01:50

标签: symfony

我是Symfony 2的新手,我无法真正理解项目的文件夹结构和组织。我知道什么是捆绑,但我不清楚的是:

  • 什么是主目录(要在Web服务器上复制用于部署的目录)
  • 应放置资产(css,javascript)
  • 在发布我的网站时是否(以及如何)更改环境

我已经阅读过Symfony网站上的这本书,但我找不到这些答案。

2 个答案:

答案 0 :(得分:4)

  • Symfony2应用程序的Web根目录是“web”目录,但是当您推向生产时,整个symfony2项目不仅应该被推送到Web根目录。

来自symfony2本书

  

app /:此目录包含应用程序配置;
  src /:所有项目PHP代码都存储在该目录下;
  vendor /:任何供应商库都按惯例放在这里;
  web /:这是Web根目录,包含任何可公开访问的文件;

  • 资产应保存在捆绑包的Res​​ources / public / [css / js / images]'文件夹中。从这里开始,您必须将这些目录复制或符号链接到Web根目录以使其可访问。 Symfony2附带一个位于“app”目录中的命令行实用程序。从symfony2项目根目录的命令行执行的app/console assets:install web --symlink命令将为您安装所有bundle的资产。

  • 要更改环境并且您正在使用Apache,您将使用.htaccess文件和mod_rewrite来选择您想要使用的环境

    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /app.php [QSA,L]
    

    使用/app.php让我进入生产模式,使用/app_dev.php会让我进入开发模式。

答案 1 :(得分:1)

  • 主目录包含app文件夹。
  • 资产应该是 放在他们所关联的bundle文件夹中。此文件夹已命名 “上市”。
  • 阅读this。您需要做的就是删除app_dev.php文件。