php - 在 Symfony 中创建新的文件夹结构
问题描述
我想通过这样的文件夹来分隔 Symfony 中的部分:
src
- Blog
-- Controller
-- Entity
-- Form
-- Repository
- Main
-- Controller
-- Entity
-- Form
-- Repository
使用 bundle 我不能在控制器和实体中使用注释,也不能在我的博客中单独使用 make:entity。有没有办法在 symfony 4 中创建这种结构?
解决方案
由于 Symfony 是一个 PHP 框架并且不强加任何选择,只要Composer 自动加载器能够加载它们,您就可以自由地将您的类放置在您喜欢的任何地方。您可能还必须配置包以在其他命名空间/位置中查找对象。默认情况下,它们在您的应用程序中配置为从预定义的文件结构中加载。
例如,当您的实体位于 中时src/Blog/Entity/Post
,它可能应该具有完全限定的类名,例如App\Blog\Entity\Post
. 然后,您必须调整默认的 Doctrine 配置以加载具有此类命名空间的实体:
doctrine:
# ...
orm:
# ...
mappings:
Blog:
is_bundle: false
type: annotation
# before:
# dir: '%kernel.project_dir%/src/Entity'
# prefix: 'App\Entity'
# alias: App
# after:
dir: '%kernel.project_dir%/src/Blog/Entity'
prefix: 'App\Blog\Entity'
alias: Blog
另一个示例,您必须更改路由配置,以便它在以下位置查找控制器App\Blog\Controller
:
blog_routes:
resource: '../src/Blog/Controller/'
type: annotation
推荐阅读
- python-3.x - plotly:3D 绘图返回一个没有数据点的图形
- c# - 从 SQL 获取数据以及在 C# 中读取 excel
- mysql - 将 WHERE 和 AND 分组为一个语句
- python - 使用 SciPy 拟合 Levy 稳定分布
- javascript - 如何获取复选框索引/行号?
- javascript - 如何在 javascript 文件中绘制图表并将其传递给 html 以便它可以显示
- php - 尝试使用军用时钟格式制作 if、elseif、else 时间和何时吃饭的声明
- javascript - 如何使用 css 内容显示图像?
- reactjs - React 事件处理程序上的控制台日志语句导致合成事件警告
- mysql - 来自 PLpgsql 的 PLsql 等效查询