2017 © Pedro Peláez
 

library extra-pdo

image

jworksuk/extra-pdo

  • Tuesday, April 10, 2018
  • by jworksuk
  • Repository
  • 1 Watchers
  • 0 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

ExtraPDO

Latest Version on Packagist Software License ![Build Status][ico-travis], (*1)

A very thin layer over the PDO class., (*2)

Install

Via Composer, (*3)

``` bash $ composer require jworksuk/extra-pdo, (*4)

## Usage

``` php
require_once '/path/to/vendor/autoload.php';

use JWorksUK\ExtraPDO;
use Acme\Model;

$pdo = ExtraPDO::createMySqlConnection(
    'databaseName',
    'databaseHost',
    'databaseUser',
    'databasePassword'
);

$model = $pdo
    ->executeStatement('SELECT * FROM todos WHERE id=:id', [
        'id' => '15983acf-022f-303a-bfef-a096eaebbf7c'
    ])
    ->fetchAndMap(function ($row) {
        return new Model(
            $row['id'],
            $row['name'],
            $row['list_id'],
            new \DateTime($row['updated_at']),
            new \DateTime($row['created_at'])
        );
    });
$model->doModelThing();

$models = $pdo
    ->executeStatement('SELECT * FROM todos WHERE list_id=:listId', [
        'listId' => '05aab6f6-e991-3c59-a980-832cca75c578'
    ])
    ->fetchAllAndMap(function ($row) {
        return new Model(
            $row['id'],
            $row['name'],
            $row['list_id'],
            new \DateTime($row['updated_at']),
            new \DateTime($row['created_at'])
        );
    });

foreach ($models as $model) {
    $model->doModelThing();
}

Testing

bash $ composer test, (*5)

The Versions