与Codeigniter一样,我们有'核心'文件夹,我们可以在其中定义自己的控制器,如'MY_Controller',并可用于扩展所有类以扩展这个控制器是否有可能在Symfony2中这样做。
在symfony中我想创建类'MY_Controller',它扩展自基类'Controller',我希望控制器中的所有类都从MY_Controller'类扩展。
提前致谢...
答案 0 :(得分:1)
注意:
使用Symfony2时, 强烈 建议您遵循Symfony2编码样式。它与PHP-FIG基本相同,有一两个偏差。所以下划线是类名中的禁忌。除此之外:Symfony非常容易使用,并且完全是OO,因此更改控制器扩展的类就像用extends Controller
替换extends AnotherClass
一样简单。
但现在,使用自定义控制器的symfony2方式:
您可以做的是创建一个Core
捆绑包(此后为CoreBundle)。然后,在此CoreBundle中,定义一个从Symfony Controller
组件扩展的控制器。从命令行,在项目根目录中,使用以下命令:
php app/console generate:bundle --namespace=YourNameSpace/CoreBundle --bundle-name=YourNameSpaceCoreBundle
更多选项can be found here
之后,您将在捆绑目录中找到DefaultController
类。 (可能在文件夹src/YourNamespace/CoreBundle/Controller
中)。然后,设置生成核心控制器:
php app/console generate:controller --controller=YourNameSpaceCoreBundle:Core
有关如何生成核心控制器的更多选项,请参阅the documentation。
在您完成自定义控制器的设置后,您可以随意在任何其他捆绑包中使用它:
namespace YourNameSpace\AnotherBundle\Controller;
use YourNameSpace\CoreBundle\Controller\CoreController;
class DefaultController extends CoreController
{//extends from your custom controller
}
就是这样:你已经完成了。
答案 1 :(得分:0)
<bundledir>/Controller/