#误区 1:Symfony 就是“另一个 PHP MVC 框架”
不对。
它当然能按 MVC 讲,但真正的骨架是 Request/Response、Kernel、Container、Security、Event、Messenger、Config、Console 这一整套 HTTP 治理体系。
#误区 2:Bundle 就是应用模块
不对。
现代 Symfony 官方主线已经不推荐用 Bundle 来组织你的应用业务代码。应用逻辑用 src/ 下的命名空间组织;Bundle 主要给可复用能力。
#误区 3:Controller 应该写业务
不对。
Controller 是受理窗口。真正业务逻辑应该进 Service、Domain、Repository、Message Handler 等更合适的楼里。
#误区 4:Doctrine 是 Symfony 的一部分
不对。
Doctrine 是最主流的数据库搭档,但它不是 Symfony 内核本体。理解这一点,你才会真正理解 Symfony 的组件化哲学。
#误区 5:Event 和 Messenger 是一回事
不对。
Event 更像广播“发生了什么”;Messenger 更像“把事情送去同步或异步处理”。
#误区 6:Symfony 一定要大量手写 XML / YAML,配置特别重
不对。
现代 Symfony 已经大量依赖 autowiring、autoconfiguration、attributes、Flex recipes。配置仍然重要,但不是你想象中的“样板地狱”。
#误区 7:用了 AbstractController,就可以随便从容器里抓服务
不对。
官方最佳实践明确更推荐依赖注入,而不是 $this->container->get() 到处捞。
#误区 8:Form 只是前端表单输出工具
不对。
Form 系统真正强的是“渲染 + 提交回填 + 校验 + 错误回显 + 对象映射”这一整套办事流。
#误区 9:Security 只要 access_control 写几条就够了
不对。
复杂权限最终还是要用 Voter,把“谁能对哪份材料做什么动作”表达清楚。
#误区 10:AssetMapper 能解决一切前端构建问题
不对。
它非常适合中后台、SSR、轻量现代 JS;但重 React / Vue SFC / 大型前端工程,通常还是前端工具链更自然。