Many of you may be familiar with symfony, currently one of the best OOP oriented PHP frameworks out there. It's a fast, scalable, immensely powerful and easily extensible framework that naturally guides the developer towards application of the agile development principles (such as DRY, KISS or the XP philosophy). Symfony is geared to build enterprise applications, giving full control over the code, configuration and folder structure to the developer.
However, with great power comes great responsibility, as was once said to a young Peter Parker. Symfony leaves all this power in the hands of the developer, but asks a lot in return.
Note about symfony
This tutorial assumes you are already familiar with symfony, and focuses on teaching you about Diem. If you have never used symfony before, head over to the symfony-project and check out their excellent documentation.
Diem builds on top of symfony to provide a user-friendly CMF (Content Management Framework) which will allow you to build common-case scenarios swiftly and without effort. While nothing is predefined in Diem (you start with an empty project just as you do with symfony), it comes bundled with a stellar set of features and offers download-able plugins that will ease your life and make development faster.
Diem adds a growing set of features on top of symfony, useful for most projects, which developers would otherwise need to build themselves:
It's the same as a well written symfony site - Diem uses intelligent view caching and utilizes APC if available. All Diem-generated code follows symfony's best practices in order to deliver the best performance your server is capable of.
Why, of course. We have prepared a demo version of Diem, running an instance of this very site. Feel free to head over and try it for yourself using the links and username/password below, or check out this page for more information:
The Diem Ipsum website source code is hosted on GitHub.
Each tutorial page lives in a Git branch.
See Diem Ipsum source code on GitHub
Questions and Feedback
If you need support or have a technical question, you can
The documentation is hosted on GitHub. Feel free to submit issues and patches!