Coder Social home page Coder Social logo

modelmanager's Introduction

Pomm ModelManager

Latest Stable Version Scrutinizer Code Quality Build Status Monthly Downloads License

ModelManager is a Pomm project package. It makes developers able to manage entities upon the database through model classes. It is not an ORM, it grants developers with the ability to perform native queries using all of Postgres’SQL and use almost all its types. This makes model layer to meet with performances while staying lean.

This package will provide:

  • Model classes with all common built-in queries (CRUD but also, count and exists).
  • Flexible entities
  • Embedded entities converter
  • Model Layer to group model computations in transactions.

The model layer also proposes methods to leverage Postgres nice transaction settings (constraint deferring, isolation levels, read / write access modes etc.).

Installation

Pomm components are available on packagist using composer. To install and use Pomm's model manager, add a require line to "pomm-project/model-manager" in your composer.json file. It is advised to install the CLI package as well.

In order to load the model manager's poolers at startup, it is possible to use the provided SessionBuilder in Pomm's configuration:

$pomm = new Pomm([
    'project_name' => [
        'dsn' => …,
        'class:session_builder' => '\PommProject\ModelManager\SessionBuilder',
    ],
    …
]);

It is better to provide dedicated session builders with your project.

Documentation

The model manager’s documentation is available either online or directly in the documentation folder.

Tests

This package uses Atoum as unit test framework. The tests are located in sources/tests. This package also provides a ModelSessionAtoum class so the test classes can directly get sessions with the model and model layer poolers loaded.

modelmanager's People

Contributors

chanmix51 avatar npanau avatar ronanguilloux avatar sanpii avatar scrutinizer-auto-fixer avatar stood avatar tlode avatar webaaz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.