在将现有应用程序升级到 Flex部分,Symfony 4 文档指出:
- 将原始源代码
src/{App,...}Bundle/
移至src/
并更新每个 PHP 文件的名称空间App\...
(高级 IDE 可以自动执行此操作)。
第一部分“将原始源代码移出src/{App,...}Bundle/
”很清楚。我们可以这样理解一个目录结构:
sf3-project/
├── src/
├── AppBundle/
├── Controller/
├── MyFirstController.php
└── MySecondController.php
└── ...
└── ApiBundle/
├── Controller/
├── MyFirstController.php
└── MySecondController.php
└── ...
但是,我不清楚第二部分“将src/
每个 PHP 文件的名称空间更新为App\...
” ,尤其是关于建议的结构。
据我了解,它建议将每个Controller/
目录的内容复制到一个目录中。如果是这样,如何处理具有相同名称的控制器?我们应该添加以前一个包的前缀作为名称的子目录吗?
symfony 演示项目似乎建议这样做,Admin/
因为Controller/
.
我们应该如何将之前的目录结构升级为以下?
sf4-project/
├── src/
├── Controller/
│ └── ...
├── ...
└── Kernel.php
我们可以注意到这个sf4-project示例遵循逐层结构的包,就像在文档中一样。我也想知道我们是否可以通过功能结构轻松使用包。
那么,Symfony 4 对于逐层封装和逐特征结构封装的建议方法是什么?