franz-deleon/fdl-gateway-manager

一个用于管理 Zend Db 网关实例的 ZF2 模块

3.0.0 2013-10-29 22:58 UTC

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

用法

  1. 在你的模块的 module.config.php 中添加

     // module.config.php inside an array
     'loc_gateway_manager_assets' => array(
         'entities' => 'namespace\to\entity\dir',
         'tables'   => 'namespace\to\tables\dir',
     )
    
  2. 在指定的 '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
     }
    

    * 此表将作为你的期望表网关

  3. 使用 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() 方法