gpt4 book ai didi

zend-framework2 - Zend 框架 2 添加新 Controller

转载 作者:行者123 更新时间:2023-12-04 13:41:44 24 4
gpt4 key购买 nike

为了在 Module 中添加新的 Controller 并通过 URL 调用它,我们需要在哪些文件中进行更改。

有没有一种方法可以添加一个新的 Controller 文件并通过 url 调用它而不更改任何其他配置文件。

因为每次在 Controller 文件中添加或编辑时对配置文件进行更改将非常繁琐。

最佳答案

我要对丹尼尔所说的“确保你有一条满足你的目的的匹配路线......”做一点澄清。出于我的目的,我试图容纳到模块/应用程序/src/应用程序/ Controller /索引 Controller .php和模块/应用程序/src/应用程序/ Controller /配置文件 Controller .php的路由,但是我努力解决我的配置文件 Controller 的任何问题。 ZF2 是否可以在单个模块中容纳多个 Controller 也不清楚。我想肯定是必须的,而且确实如此!鉴于上述两个 Controller ,这就是我在 module/Application/config/module.config.php 中制作“路由器”数组的方式。

'router' => array(
'routes' => array(
'home' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/',
'defaults' => array(
'controller' => 'Application\Controller\Index',
'action' => 'index',
),
),
),
'application' => array(
'type' => 'Literal',
'options' => array(
'route' => '/application',
'defaults' => array(
'__NAMESPACE__' => 'Application\Controller',
'controller' => 'Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Segment',
'options' => array(
'route' => '/[:controller[/:action]]',
'constraints' => array(
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => array(
),
),
),
),
),

'profile' => array(
'type' => 'literal',
'options' => array(
'route' => '/profile',
'defaults' => array(
'__NAMESPACE__' => 'Application\Controller',
'controller' => 'Profile',
'action' => 'index',
),
),
),
),
),

这也是成功后我的“ Controller ”可调用对象在 modules.config.php 中的样子。
'controllers' => array(
'invokables' => array(
'Application\Controller\Index' => 'Application\Controller\IndexController',
'Application\Controller\Profile' => 'Application\Controller\ProfileController'
),
),

关于zend-framework2 - Zend 框架 2 添加新 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12507492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com