Giter VIP home page Giter VIP logo

propel2's Introduction

Propel2

Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.5 and up.

Build Status Code Climate Gitter

Requirements

Propel2 uses the following Symfony2 Components:

Propel2 also relies on Composer to manage dependencies but you also can use ClassLoader (see the autoload.php.dist file for instance).

Propel2 is only supported on PHP 5.5 and up.

Installation

Read the Propel documentation.

Contribute

Everybody can contribute to Propel2. Just fork it, and send Pull Requests. You have to follow Propel2 Coding Standards and provides unit tests as much as possible. Also check out the roadmap to get an overview of what we are working on!

Please see our contribution guideline. Thank you!

Status of the project

Never ending alpha releases?

Propel v2 started as very big refactoring of the old Propel version 1, making it PSR1-2 compatible, introducing namespaces and refactoring a lot of internal stuff. However, the heart (and most complex code at the same time) of Propel 1 and 2 is the Query and Object classes builder, together 8k unmaintainable lines of code. These 2 files (and with it the architecture) is the main problem why we can not release a stable version, because it never went stable and due to the lack of contributions (and mean, nobody is surprised when you look at the very complex structure of those 2 files) we are simply not able to release a version that indicates that you get somehow support for bugs and new features, which is our aspiration to do so once a official stable version is tagged.

Because Propel2 took so much time (several years) and ActiveRecord (the way it was built in Propel1 and 2) is not modern anymore (only hardly testable, not so much enjoyable) along with other reasons, we decided to rewrite the very heart of Propel. The result is Propel3 a data-mapper implementation with optional active-record traits. It is much cleaner now, is able to support also NoSQL databases and its data-mapper implementation allows you to write tests in a more enjoyable way. To sum up: A very modern approach that is also designed to work in a high-performance application-server environment like PHP-PM.

In our eyes it makes no sense to tag a Propel2 stable version, because there is simply too less manpower on this very complex project, we do not want to maintain an old obsolete architecture and want to invest our life time more in a modern approach of doing ORM in modern PHP.

Our advice:

  1. Use Doctrine if you are looking for a long-term supported, full-featured (and difficult to learn) and stable ORM.
  2. Use easy to learn Eloquent for prototyping and smaller projects.
  3. Help us build Propel3, which aims someday to be both of the above.

License

See the LICENSE file.

propel2's People

Contributors

fzaninotto avatar willdurand avatar marcj avatar jaugustin avatar cristianoc72 avatar robin850 avatar gharlan avatar big-shark avatar themouette avatar staabm avatar k-phoen avatar mhitza avatar lunika avatar acim avatar nibsirahsieu avatar andrey-yantsen avatar eelkevdbos avatar motin avatar nymo avatar havvg avatar nnarhinen avatar kairichard avatar gigablah avatar scif avatar aklinkert avatar rouffj avatar gromnan avatar oujesky avatar iceshack avatar rafaelnery 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.