Propel2

Propel2是一个开源的高性能对象关系映射(ORM),适用于现代PHP。(Propel2 is an open-source high-performance Object-Relational Mapping (ORM) for modern PHP.)

Github星跟踪图

Propel2

Propel2是PHP 5.5及更高版本的开源对象关系映射(ORM)。

要求

Propel2使用以下Symfony2组件:

Propel2也依靠 Composer 管理依赖关系,但您也可以使用 ClassLoader(例如参见 autoload.php.dist 文件)。

Propel2仅支持PHP 5.5及更高版本。

安装

阅读 Propel文档

贡献

每个人都可以为Propel2做出贡献。只需将它分叉,并发送合并请求。 您必须遵循 Propel2编码标准并尽可能提供单元测试。另请查看路线图,以了解我们正在开展的工作!

请参阅我们的贡献指南。谢谢!

许可证

请参阅 LICENSE 文件。

概览

名称与所有者propelorm/Propel2
主编程语言PHP
编程语言PHP (语言数: 5)
平台Linux, Mac, Windows
许可证MIT License
发布数16
最新版本名称2.0.0-beta4 (发布于 )
第一版名称2.0.0-alpha1 (发布于 )
创建于2011-10-06 06:50:51
推送于2024-05-22 21:14:18
最后一次提交2024-04-12 13:05:55
星数1.3k
关注者数67
派生数392
提交数5.2k
已启用问题?
问题数949
打开的问题数241
拉请求数814
打开的拉请求数35
关闭的拉请求数199
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

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.

去到顶部