zf-hipsters/zfh-abstract-factory

此包最新版本(0.92)没有可用的许可信息。

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

0.92 2013-10-22 19:42 UTC

This package is not auto-updated.

Last update: 2024-09-23 16:31:50 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',
        ),
    ),
),

ServiceManager示例

在您的控制器文件中

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

调用工厂

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