Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am a newbie to OOP, and I learn best by example. You could say this question i

ID: 661432 • Letter: I

Question

I am a newbie to OOP, and I learn best by example.

You could say this question is similar to Which Scala open source projects should I study to learn best coding practices - but in PHP.

I have heard-tell that Symfony has the best 'architecture' (I will not pretend I know what that exactly means), as well as Doctrine ORM. Is it worth it to spend many months reading the source code of these projects, trying to deduce the patterns used and learning new tricks?

I have seen equal number of web pages dissing and liking Zend's codebase (will provide links if deemed necessary).

Do you know of any other project that would make any veteran OOP developer shed tears of joy?

Please let me add that practicality and scope of use is not a concern at all here - I just want to do:

Pick a project that has a codebase deemed awesome by devs way better and greater than me.
Write code that achieves what the project does.
Compare results and try to learn what I don't know.
Basically, an academic interest codebase. Any recommendations please?

Explanation / Answer

Symfony 2 is probably the best large project to learn from but is pretty big.

I recently found a neat and small open source PHP project called Phrozn (static site generator). It's code base is relatively small so you can examine it pretty fast.

UPDATE:

Phrozn is modern (uses PHP 5.3+ and relies on it heavily), it's extensible, has strict code coverage. It also re-uses code from other well written projects such as Symfony (YAML), Zend (Autoloader), PEAR and Twig.

OOP, uses namespaces and it's very well documented. I'm not saying it's perfect nor that it can be compared to a project like Symfony but it's worth a shot.