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

编辑本页

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

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

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

ob娱乐下载Symfony应用程序有以下默认的目录结构,但是你可以重写它来创建你自己的结构:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
你的项目/├─资产/├─bin /│└─控制台├─配置/├─公共/│└─index . php├─src /│└─……├─模板/├─测试/├─翻译/├─var /│├─缓存/│├─日志/│└─……└─供应商/

覆盖配置目录

配置目录是Symfony应用程序中唯一不能覆盖的目录。ob娱乐下载它的位置被硬编码为配置/目录。

覆盖缓存目录

属性可以更改默认缓存目录getCacheDir ()方法中的内核申请类别:

12 3 4 5 6 7 8 9 10 11 12
/ / src / Kernel.php/ /……内核扩展BaseKernel/ /……公共函数getCacheDir()返回目录名(__DIR__).“/ var /”->环境。/缓存的;}}

在这段代码中,$ this - >环境是当前环境(即。dev).在本例中,您已经将缓存目录的位置更改为/ var /{环境}/缓存

谨慎

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

覆盖日志目录

压倒一切的var / log /目录与重写var /缓存/目录中。惟一的区别是您需要重写getLogDir ()方法:

12 3 4 5 6 7 8 9 10 11 12
/ / src / Kernel.php/ /……内核扩展内核/ /……公共函数getLogDir()返回目录名(__DIR__).“/ var /”->环境。“/日志”;}}

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

覆盖模板目录

如果您的模板没有存储在默认模板/目录,使用twig.paths配置选项定义自己的模板目录(或目录):

  • YAML
  • XML
  • PHP
1 2 3 4
#配置/包/ twig.yaml枝:#……道路:[" % kernel.project_dir % /资源/视图”)

覆盖翻译目录

如果您的翻译文件没有存储在默认翻译/目录,使用framework.translator.paths配置选项定义自己的翻译目录(或多个目录):

  • YAML
  • XML
  • PHP
1 2 3 4 5
#配置/包/ translation.yaml框架:翻译:#……道路:[" % kernel.project_dir % / i18n”]

覆盖公共目录

如果需要重命名或移动您的公共/目录,你唯一需要保证的是路径var /目录仍然正确index . php前端控制器。如果您重命名了目录,就没有问题。但是如果你以某种方式移动它,你可能需要修改这些文件中的这些路径:

1
require_once__DIR__“/ . . /道路/ /供应商/ autoload.php”

您还需要更改extra.public-dir选项中的composer.json文件:

1 2 3 4 5 6 7
“…”“…”“额外的”: {“…”“…”“public-dir”“my_new_public_dir”}}

提示

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

覆盖供应商目录

要覆盖供应商/目录,您需要定义vendor-dir在您的composer.json文件如下:

1 2 3 4 5 6
“配置”: {“bin-dir”“本”“vendor-dir”“/一些/ dir /供应商”}},

提示

如果您在虚拟环境中工作并且不能使用NFS—例如,如果您在客户操作系统中使用Vagrant/VirtualBox运行Symfony应用程序,则可以对此修改感兴趣。ob娱乐下载

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。