2017 © Pedro PelĂĄez
 

library foundation

Pomm connection manager for Postgresql

image

pomm-project/foundation

Pomm connection manager for Postgresql

  • Thursday, February 22, 2018
  • by chanmix51
  • Repository
  • 10 Watchers
  • 55 Stars
  • 50,538 Installations
  • PHP
  • 15 Dependents
  • 1 Suggesters
  • 25 Forks
  • 12 Open issues
  • 10 Versions
  • 15 % Grown

The README.md

Foundation

Latest Stable Version Scrutinizer Code Quality Build Status Monthly Downloads License, (*1)

This is the experimental branch of the foundation component of Pomm Project. It is compatible with PHP version >= 8.0., (*2)

What is Foundation ?

Foundation is the main block of Pomm database framework. It makes clients able to communicate either with the database or with each others through a session. One of these clients -- the query manager -- can make Foundation to be used as DBAL replacement. If you are looking for a library to use PostgreSQL in your web development, you might want to look at Pomm’s model manager. If you want to create a custom database access layer or just perform SQL queries, Foundation is the right tool., (*3)

Foundation provides out of the box:, (*4)

  • Converters (all built-in Postgresql types are supported + arrays, HStore etc.) see this SO comment.
  • Prepared Queries.
  • Parametrized queries.
  • Seekable iterators on results.
  • LISTEN / NOTIFY asynchronous messages support.
  • Service manager for easy integration with dependency injection containers.

See more with code examples on this blog post., (*5)

Requirements

This branch is tested against the following configurations: * PHP 5.6, 7.0, 7.1, 7.2, 7.3 and uses mod-pgsql only (not PDO) * Postgresql 9.4, (*6)

Pomm might work with older versions of PHP or Postgres but this is not tested and can be broken any time., (*7)

Installation

Pomm components are available on packagist using composer. To install and use Pomm's foundation, add a require line to "pomm-project/foundation" in your composer.json file., (*8)

Note: It is important the PHP configuration file defines the correct timezone setting. Pomm also sets the PostgreSQL connection to this timezone to prevent time shifts between the application and the database., (*9)

Documentation

Foundation’s documentation is available either online or directly in the documentation folder of the project., (*10)

Tests

This package uses Atoum as unit test framework. The tests are located in sources/tests. The test suite needs to access the database to ensure that read and write operations are made in a consistent manner. You need to set up a database for that and fill the sources/tests/config.php file with the according DSN. For convenience, Foundation provides two classes that extend Atoum with a Session:, (*11)

  • PommProject\Foundation\Tester\VanillaSessionAtoum
  • PommProject\Foundation\Tester\FoundationSessionAtoum

Making your test class to extend one of these will grant them with a buildSession method that returns a newly created session. Clients of these classes must implement a initializeSession(Session $session) method (even a blank one). It is often a good idea to provide a fixture class as a session client, this method is the right place to register it., (*12)

Known bugs

Unfortunately there is a bug we can not fix easily or without degrading performances of the whole stack: * The ConvertedResultIterator can not recognize custom composite types when they are defined in schemas other than public. This is because the pg_type function does not return the schema the type belongs to. There are not turns around unless the schema is inspected manually by issuing a lot of queries. (see #53), (*13)

The Versions

22/02 2018

dev-master

9999999-dev http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

09/01 2018

2.0.x-dev

2.0.9999999.9999999-dev http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

28/04 2017

2.0.2

2.0.2.0 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

04/12 2015

2.0.1

2.0.1.0 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

04/10 2015

2.0.0

2.0.0.0 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

29/06 2015

2.0.0-rc.3

2.0.0.0-RC3 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

06/05 2015

2.0.0-rc.2

2.0.0.0-RC2 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

17/03 2015

2.0.0-rc.1

2.0.0.0-RC1 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

16/01 2015

2.0.0-beta.2

2.0.0.0-beta2 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql pomm

15/12 2014

2.0-beta-1

2.0.0.0-beta1 http://www.pomm-project.org

Pomm connection manager for Postgresql

  Sources   Download

MIT

The Requires

 

The Development Requires

database framework postgresql