CMS Vs Frameworks (Intro)

CMS (Content Management Systems) and Frameworks in PHP are something that the UKVoIPNet™ team are familiar with. We have had discussions in the past about which is preferable and which is the best tool to use, when developing websites.

This depends on the scope of the project, for instance; how large is the project, what is the timescale, what is the budget, what user requirements are there?

For the purposes of this article we are going to focus on a larger project, where time is limited and the client requires control of the data within the site.

The two systems under review are Symfony by Sensio Labs and Drupal CMS

Symfony by Sensio Labs

Symfony is an impressive Framework, and makes full use of the MVC (Model View Controller) seperation model. This allows it to be flexible and easier to seperate the database extraction, business logic and the view layers, essential for some larger projects.

Database Abstraction

For its database abstraction Symfony has Propel built into it. Propel is an ORM (Object Relational Mapping), which maps tables and their relationships to objects, allowing flexibility of the Framework and ensuring futher cross platform compatibility.

The database is manipulated by calling a certain object such as a table and setting the methods within it.

Symfony and propel seem to be a perfect match and allows portability and added security as standard.

Business Logic

This is where the system really comes alive, after the data has been loaded into objects it is possible to manipulate it in the business logic layer. this is where the control of the system sits.

Symfony has a very ordered logic model and allows for quick development.

It aims to keep php and markup language by giving the developer an API. this is a very clean way of creating a website.

Valid XHTML 1.0 Strict