zf-hipsters/abstract-factory

此包最新版本(0.92)没有提供许可证信息。

一个简单的模块,用于移除为服务和控制器设置可调用和工厂的需求。

0.92 2013-10-22 19:42 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:36:02 UTC


README

一个简单的模块,用于移除为服务和控制器设置可调用和工厂的需求。

不需要使用会导致代码不一致的别名,只需使用完整的命名空间,抽象将在需要时找到并实例化。

此模块旨在节省时间,否则这些时间将花费在配置上。

安装

  1. 将以下需求添加到项目的 composer.json 文件中。

在 "require" 部分

"zf-hipsters/abstract-factory": ">=0.9"
  1. 打开您的命令行并运行
php ./composer.phar update
  1. 将 'ZfhAbstractFactory' 添加到您的 /config/application.config.php 模块中

路由示例

如果没有启用 ZfhAbstractFactory,您需要在配置中注册控制器,例如

'controllers' => array(
    'invokables' => array(
        'Album\Controller\Album' => 'Album\Controller\AlbumController',
    ),
),

当启用 ZfhAbstractFactory 时,如果使用控制器在路由中的完全限定名(FQN),则可以避免以这种方式注册控制器。

注意:已使用控制器的 FQN。

'router' => array(
        'routes' => array(
            'home' => array(
                'type' => 'Zend\Mvc\Router\Http\Literal',
                'options' => array(
                    'route'    => '/',
                    'defaults' => array(
                        'controller'    => 'Application\Controller\IndexController',
                        'action'     => 'index',
                    ),
                ),
            ),�
        )
);

另一个示例,使用固定控制器和动态动作。

'smurf' => array(
    'type' => 'Zend\Mvc\Router\Http\Segment',
    'options' => array(
        'route'    => '/smurf[/:action]',
        'controller' => 'Application\Controller\SmurfController',
        'defaults' => array(
            'action' => 'index',
        ),
    ),
),

服务管理器示例

在您的控制器文件中

$this->getServiceLocator()->get('Application\Service\MyService');

调用工厂

$this->getServiceLocator()->get('Application\Service\MyServiceFactory');