franz-deleon / fdl-gateway-manager
一个用于管理 Zend Db 网关实例的 ZF2 模块
3.0.0
2013-10-29 22:58 UTC
Requires
- php: >=5.3.3
- zendframework/zendframework: >=2.2.0
This package is not auto-updated.
Last update: 2024-09-24 00:48:01 UTC
README
网关管理器是一个专为 Zend Framework 2 设计的模块,用作 Zend\Db\TableGateway\TableGateway 的包装器,以便开发者可以轻松地组装和管理多个网关,而不会使模块.php 文件变得杂乱。
如果你正在使用映射器、dbtables 和实体,这将非常有用。网关管理器会自动将你的实体映射到你的 dbtables。
要求
- Zend Framework 2.2
- PHP 5.3
用法
-
在你的模块的 module.config.php 中添加
// module.config.php inside an array 'loc_gateway_manager_assets' => array( 'entities' => 'namespace\to\entity\dir', 'tables' => 'namespace\to\tables\dir', )
-
在指定的 'entities' 命名空间中创建一个实体
// Users.php namespace namespace\to\entity\dir; class Users { public function getID() ... public function setID() ... public function getName() ... public function setName($name) ... }
如果你正在使用映射器创建表
// UsersTable.php namespace namespace\to\tables\dir; class UsersTable implements \LocGatewayManager\Gateway\AbstractTable { $tableName = 'MY_USERS'; // actual table name in db $primaryKey = 'ID' // primary key column }
* 此表将作为你的期望表网关
-
使用 FactoryManager
$gm = $sm->get('LocGatewayManager'); $tableGateway = $gm->factory(array( 'entity_name' => 'Users', 'result_set_name' => 'HydratingResultSet' ), 'users'); $tableGateway->fetchAll(); // later anywhere where you can have a service manager $users = $sm->get('LocGatewayManager')->get('users'); $users->fetchAll();
待办事项
@todo 将 GatewayFactoryProcessor 重命名为 GatewayFactoryUtilities
@todo 向 WorkerInterface 添加 assemble() 方法