0

几天前我才开始使用 Symfony 2。我目前正在开发一种用于市场研究目的的工具。这个工具应该由多个模块组成,每个模块都是 Symfony 项目中的一个包。我当然可以将这些模块全部放在一个包中,但我的想法是使代码尽可能可维护,以简化修复错误或改进和添加新模块的过程。

所以基本上我的文件夹结构是这样的:

AppBundle -> Controller -> DefaultController:在网站初始加载时使用。它除了返回位于我的前端包中的渲染的 Twig 模板之外没有做任何事情。

公司| |__> AdministrationBundle:这应该是可以配置模块,可以添加或编辑用户等的管理后端。

  |
  |__> FrontendBundle: this is the core bundle so to say. It contains the basic Twig template, which is used to render the general site structure and navigation

  |
  |__> Module_1_Bundle: that's the first module which is supposed to being navigated to basic Twig template generated in the frontend controller

  |
  |__> Module_2_Bundle: same as module 1.

前端渲染正确,没有问题。但是一旦我尝试导航到模块 1 或模块 2(我还没有开始使用管理包),我得到的只是

哎呀!发生错误 服务器返回“500 内部服务器错误”。东西坏了。请让我们知道发生此错误时您在做什么。我们会尽快修复它。给您造成的任何不便,请原谅。

Apache 错误日志和 Symfony 日志中都没有任何内容,我根本不知道那里发生了什么。我已经在 app/config/routing.yml 中配置了到模块的初始路由,如下所示:

app:
  resource: @AppBundle/Controller
  type:     annotation

company_frontend:
  resource:  "@CompanyFrontendBundle/Resources/config/routing.yml"

company_backend:
   resource: "@CompanyAdministrationBundle/Resources/config/routing.yml"

company_module_1:
   resource: "@CompanyModule_1_Bundle/Resources/config/routing.yml"

company_module_2:
   resource: "@CompanyModule_2_Bundle/Resources/config/routing.yml"

然后每个 routing.yml 包含相应模块所需的路由,基本上是这样的(例如 company/Module_1_Bundle/Resources/config/routing.yml):

company_module_1:
    path:     /module1
    defaults: { _controller: CompanyModule_1_Bundle:Module1:index }

相应的 Module1Controller 是这样的:

<?php

 namespace Company\Module_1_Bundle\Controller;

 use Symfony\Bundle\FrameworkBundle\Controller\Controller;

 class Module1Controller extends Controller
 {
     public function indexAction()
     {
         return $this->render('CompanyModule_1_Bundle:Default:index.html.twig', array("headerText" => "some Module 1 heading"));
}

}

我真的很想知道为什么它不起作用。我真的希望你们能帮助我。:)

4

1 回答 1

1

好吧,你可以正式称我为白痴。:) 修改代码后,我决定稍微清理一下我的服务器。其中一部分是重命名项目所在的目录并调整 apache2 vhost 配置。不过我没有调整的是 PHPStorm 中的部署设置,这意味着我所做的所有更改仍然转到旧文件夹(PHPStorm 再次创建),因此我从未看到任何更改,因为最近重命名的文件文件夹保持不变。该死。现在一切都已排序并正常工作。再次感谢。:)

于 2014-12-18T15:59:09.533 回答