PHPackages                             wwtg99/data\_pool - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. wwtg99/data\_pool

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

wwtg99/data\_pool
=================

0.2.0(9y ago)1882MITPHP &gt;=5.6

Since Jun 20Compare

[ Source](https://github.com/wwtg99/data_pool)[ Packagist](https://packagist.org/packages/wwtg99/data_pool)[ RSS](/packages/wwtg99-data-pool/feed)WikiDiscussions Synced yesterday

READMEChangelogDependencies (3)Versions (9)Used By (2)

Data Pool
=========

[](#data-pool)

### A collection of data connections for data mappers.

[](#a-collection-of-data-connections-for-data-mappers)

### Usage

[](#usage)

- Configure conf file

```
{
  "log_dir": "log",
  "debug": true,
  "connections": [
    {
      "name": "main",
      "class": "Wwtg99\\DataPool\\Connections\\DatabaseConnection",
      "mapper_path": "",
      "database": {
        "driver": "pgsql",
        "dbname": "test",
        "host": "192.168.0.21",
        "username": "user",
        "password": "pwd",
        "port": 5432
      },
      "logger": {
        "level": "DEBUG",
        "title": "main.log",
        "max_logfile": 5
      }
    }
  ]
}

```

- Use conf file to create data pool

```
$pool = new DefaultDataPool('example_conf.json');

```

- Get connection

```
$conn = $pool->getConnection('main');

```

- Define data mapper

```
namespace test;

class TestMapper extends ArrayMapper
{
    protected $name = 'table_name';// table name
    protected $key = 'id';//table key (string or array)
}

```

- Get data mapper for query

```
$mapper = $conn->getMapper('test\TestMapper'); //mapper should implement IDataMapper
$re = $mapper->select('*', ['panel__id'=>'1']);
var_dump($re);

```

- Use pagination

```
$mapper->setContext(['page'=>2, 'page_size'=>10]);
$re = $mapper->search('1', ['name']);
var_dump($re);

```

- Use order

`>` for ascending, `setContext(['order'=>'>field1,
