radnan / rdn-factory
Zend Framework 2 模块,用于帮助创建工厂类
v1.0.2
2014-11-14 06:07 UTC
Requires
This package is not auto-updated.
Last update: 2024-09-24 01:47:40 UTC
README
RdnFactory ZF2 模块使得创建工厂类变得非常容易。
如何安装
-
使用
composer
依赖radnan/rdn-factory
包$ composer require radnan/rdn-factory:1.*
-
通过在
application.config.php
文件中包含它来激活模块<?php return array( 'modules' => array( 'RdnFactory', // ... ), );
如何使用
该模块提供了一个 RdnFactory\AbstractFactory
类,您在创建工厂类时应扩展此类。实现受保护的 create()
方法来创建您的服务。
namespace FooModule\Factory\Controller; use FooModule\Controller; use RdnFactory\AbstractFactory; class Bar extends AbstractFactory { protected function create() { // Create and return your service return new Controller\Bar; } }
这个抽象工厂可以访问一个类似控制器的插件仓库。只需像调用方法一样调用插件即可
namespace FooModule\Factory\Controller; use FooModule\Controller; use RdnFactory\AbstractFactory; class Bar extends AbstractFactory { protected function create() { $config = $this->config('foo', 'bar'); $modules = $this->service('ModuleManager'); return new Controller\Bar($config, $modules); } }
config(...$key)
通过键获取配置。您可以传递多个键以遍历嵌套配置项。
// grab the 'display_exceptions' item inside the 'view_manager' array $config = $this->config('view_manager', 'display_exceptions');
controller($name)
获取指定名称的控制台。
$controller = $this->controller('FooModule:BarController');
form($name)
获取指定名称的表单/fieldset/元素。
$collection = $this->form('Collection'); $form = $this->form('FooModule:BarForm');
params($name)
获取路由参数值。
$id = $this->params('bar-id');
service($name)
从顶级服务定位器(服务管理器)获取服务。
$app = $this->service('Application'); $view = $this->service('ViewRenderer'); $uploads = $this->service('RdnUpload\Container');
url($route = null, $params = array(), $options = array(), $reuseMatchedParams = false)
这只是 url()->fromRoute()
控制器插件的代理。在工厂内部生成 URL 时很有用。
$apiUrl = $this->url('foo/api/search/user');