You are currently browsing documentation for Diem 5.1 - Switch to version5.0

1. Introduction

What is symfony all about?

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.

Enter Diem!

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.

So what exactly does Diem offer over symfony?

Diem adds a growing set of features on top of symfony, useful for most projects, which developers would otherwise need to build themselves:

  • Complete administration interface, with bundled logging and statistics features
  • Markdown / CKEditor ready for use
  • Efficient Search Engine Optimization through an intuitive JavaScript interface
  • Automatic search engine powered by Zend Lucene
  • Drag&drop based media library with gallery capabilities
  • Developer tools: Project browser, code editors, and even an AJAX Unix console!
  • and much more...

What about performance?

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.

On top of that you get automatic JavaScript / CSS minification and compression, enchanting the user experience with lower load times and saving you a buck in hosting taxes!

I want to try it first!

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:

Demo front-end

Demo admin-panel

Username: admin
Password: admin

See Diem Ipsum source code on GitHub

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

  • Get help with the Google Group
  • Get help with the Forum
  • Come and chat on the #diem IRC channel on freenode

The documentation is hosted on GitHub. Feel free to submit issues and patches!

Fork Diem on GitHub