如何覆盖Symfony的默认目录ob娱乐下载结构

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.4,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

如何覆盖Symfony的默认目录ob娱乐下载结构

ob娱乐下载Symfony自动附带一个默认目录结构。您可以轻松地覆盖这个目录结构来创建自己的目录结构。默认的目录结构是:

12 3 4 5 6 7 8 9 10 11 12 13
你的项目/├─app /│├─缓存/│├─配置/│├─日志/│└─……├─src/│├─…├─│├─……├─web/├─app.php├─…

覆盖缓存目录

控件来覆盖缓存目录getCacheDir方法中的AppKernel申请类别:

12 3 4 5 6 7 8 9 10 11 12
/ / app / AppKernel.php/ /……AppKernel扩展内核/ /……公共函数getCacheDir()返回->rootDir。' / '->环境。/缓存的;}}

$ this - > rootDir是绝对路径吗应用程序目录和$ this - >环境是当前环境(即。dev).在本例中,您已经将缓存目录的位置更改为应用程序/{环境}/缓存

谨慎

你应该保留缓存目录对于每个环境都不相同,否则可能发生一些意想不到的行为。每个环境都会生成自己的缓存配置文件,因此每个环境都需要自己的目录来存储这些缓存文件。

覆盖日志目录

压倒一切的日志目录与重写缓存目录,唯一的区别是您需要重写getLogDir方法:

12 3 4 5 6 7 8 9 10 11 12
/ / app / AppKernel.php/ /……AppKernel扩展内核/ /……公共函数getLogDir()返回->rootDir。' / '->环境。“/日志”;}}

在这里,您已经将目录的位置更改为应用程序/{环境}/日志

覆盖网络目录

如果需要重命名或移动您的网络目录,你唯一需要保证的是路径应用程序目录仍然正确app.php而且app_dev.php前端控制器。如果您只是重命名了目录,那么就没有问题。但是如果你以某种方式移动它,你可能需要修改这些文件中的路径:

1 2
require_once__DIR__“/ . ob娱乐下载. / Symfony / app / bootstrap.php.cache”require_once__DIR__“/ . ob娱乐下载. / Symfony / app / AppKernel.php”

您还需要更改extra.ob娱乐下载symfony-web-dir选项中的composer.json文件:

1 2 3 4 5 6 7
{…“额外的”{…“ob娱乐下载symfony-web-dir”“my_new_web_dir”}}

提示

一些共享主机有一个public_htmlWeb目录根目录。重命名您的web目录网络public_html是使您的Symfony项目在共享主机上工作的一种ob娱乐下载方法。另一种方法是将你的应用程序部署到你的web根目录之外,删除你的public_html目录,然后将其替换为指向网络在你的项目中。

请注意

如果您使用AsseticBundle,您需要配置这个,以便它可以使用正确的网络目录:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6
# app / config / config.yml#……assetic:#……read_from:“% kernel.root_dir % / . . / . . / public_html”

现在你只需要清除缓存并再次转储资产,你的应用程序应该工作:

1 2
$ PHP应用程序/控制台缓存:清除——env=prod $ PHP应用程序/控制台概要:转储——env=prod——不调试
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。