Skip to content

Commit 6c4996f

Browse files
committed
added note about Propel2 project status.
1 parent 4c309e3 commit 6c4996f

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

README.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,43 @@ Read the [Propel documentation](http://propelorm.org/documentation/01-installati
3131
## Contribute
3232

3333
Everybody can contribute to Propel2. Just fork it, and send Pull Requests.
34-
You have to follow [Propel2 Coding Standards](https://github.com/propelorm/Propel2/wiki/Coding-Standards) and provides unit tests as much as possible. Also [check out the roadmap](https://github.com/propelorm/Propel2/wiki) to get an overview of what we are working on!
34+
You have to follow [Propel2 Coding Standards](https://github.com/propelorm/Propel2/wiki/Coding-Standards) and provides unit
35+
tests as much as possible. Also [check out the roadmap](https://github.com/propelorm/Propel2/wiki) to get an overview of what we are working on!
3536

3637
Please see our [contribution guideline](http://propelorm.org/contribute.html). Thank you!
3738

39+
## Status of the project
40+
41+
**Never ending alpha releases?**
42+
43+
Propel v2 started as very big refactoring of the old Propel version 1, making it PSR1-2 compatible, introducing namespaces
44+
and refactoring a lot of internal stuff.
45+
However, the heart (and most complex code at the same time) of Propel 1 and 2 is the
46+
[Query](https://github.com/propelorm/Propel2/blob/master/src/Propel/Generator/Builder/Om/QueryBuilder.php)
47+
and
48+
[Object classes builder](https://github.com/propelorm/Propel2/blob/master/src/Propel/Generator/Builder/Om/ObjectBuilder.php),
49+
together 8k unmaintainable lines of code. These 2 files (and with it the architecture) is the main problem why we can not
50+
release a stable version, because it never went stable and due to the lack of contributions (and mean, nobody is surprised
51+
when you look at the very complex structure of those 2 files) we are simply not able to release a version that indicates
52+
that you get somehow support for bugs and new features, which is our aspiration to do so once a official stable version is tagged.
53+
54+
Because Propel2 took so much time (several years) and ActiveRecord (the way it was built in Propel1 and 2) is not modern
55+
anymore (only hardly testable, not so much enjoyable) along with other reasons, we decided to rewrite the very heart of Propel.
56+
The result is [Propel3 a data-mapper](https://github.com/propelorm/Propel3) implementation with optional active-record traits.
57+
It is much cleaner now, is able to support also NoSQL databases and its data-mapper implementation allows you to write tests
58+
in a more enjoyable way. To sum up: A very modern approach that is also designed to work in a high-performance
59+
application-server environment like [PHP-PM](https://github.com/php-pm/php-pm).
60+
61+
In our eyes it makes no sense to tag a Propel2 stable version, because there is simply too less manpower on this very complex
62+
project, we do not want to maintain an old obsolete architecture and want to invest our life time more in a modern approach
63+
of doing ORM in modern PHP.
64+
65+
Our advice:
66+
67+
1. Use Doctrine if you are looking for a long-term supported, full-featured (and difficult to learn) and stable ORM.
68+
2. Use easy to learn Eloquent for prototyping and smaller projects.
69+
3. Help us build Propel3, which aims someday to be both of the above.
70+
3871
## License
3972

4073
See the `LICENSE` file.

0 commit comments

Comments
 (0)