【问题标题】:How do you manually create Controllers in Symfony2 without the use of the command line?在 Symfony2 中如何在不使用命令行的情况下手动创建控制器?
【发布时间】:2015-06-09 10:30:53
【问题描述】:

我无法通过命令行创建控制器。有谁知道如何为我的 Symfony2 项目手动创建控制器?

我需要更新哪些文件?

【问题讨论】:

    标签: symfony model-view-controller controllers


    【解决方案1】:

    您应该在src/YourBundle/Controller 文件夹中创建文件YourControllerNameController.php。并将名称为YourControllerNameController 的类放入此文件中。还要确保您根据 PSR-0 编写了正确的命名空间。

    如果您将控制器创建为服务,您可以将其定义为服务并且没有问题。

    如果您想创建未在服务容器中注册的标准控制器,您可以从 Symfony\Bundle\FrameworkBundle\Controller\Controller 扩展您的类

    在这两种情况下,您还需要为您的操作定义路线。最简单的方法是定义一个带有注释类型的路由。它将根据您与操作相关的注释自动生成路由:

    your_route_name:
        resource: "@YourBundle/Controller"
        type:     annotation
    

    它将扫描您的 src/YourBundle/Controller 文件夹,并为任何文件中任何类中的任何方法生成新路由,该文件将具有注释 @Route

    /**
     * @Route("/your/path", name="you_can_specify_name_here_but_it_is_optional")
     */
    public function yourAction()
    {
        // Your code here
    }
    

    【讨论】:

    • 感谢您的宝贵时间和非常有用的回答!
    • 我们实际上在哪里使用“your_route_name:”?
    • 在大多数情况下,它是位于app/config/ 文件夹中的routing.yml 配置文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 2020-09-20
    • 2017-05-18
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多