The best PHP CMS Framework comparison
The best PHP CMS Framework comparison
Lets say you are thinking of starting a project, an e-commerce project at that. Probably want to sell some products or services online, doesn’t really matter, but will involve having a billing account of some sort and ability to capture payments directly online.
Sounds really fun right?
Now, most of us normal users, will probably switch to a CMS rather than learning a Framework and starting developing each module for our e-commerce project. Also if you are thinking of an e-commerce project, you can just use one of the already e-commerce script available, like OpenCart, Prestashop, Magento and many others.
Should I choose a CMS or a Framework?
These CMS (Content Management System) already have at the very least 70% of your e-commerce project already done. Of course, these so-called general purpose CMS, have probably less of the things you need, but in other cases, you probably have more than what you actually need. Depends on what CMS you are using I guess.
Take WordPress and Joomla for instance, WordPress by default is a blogging software, however with the help of the plugins and themes that WordPress developers worked hard on them to exist, the ability to start an e-commerce site directly using WordPress is real. Joomla on the other hand was developed as a CMS but with the future in mind, they allowed developers to create their own components, modules or plugins, and to add these to their Joomla installation and finally creating the website they want, in our case an e-commerce website.
But what about Frameworks? And which one is best to be used? This really depends on what you know best I believe. A Framework may offer you all the projects module / components you need, but in most cases, you are left alone to develop them from scratch. This means the backend, the frontend, accounting and billing, payments and other things you need are developed by you.
I really believe that a Framework is best only when you know the Framework inside-out and you have more plans for your project than a simple e-commerce script.
Say you probably want to provide a live rss feed to allow other users to build an affiliate website with products updating in real time?
I’m not really aware of an e-commerce script or CMS that does that, although I don’t believe its completely that hard to do.
But you got my point, which is:
In this article I’ll go a bit in detail and also write some things about the top 3 CMS and also the top 3 Frameworks.
We can see below that based on W3Techs usage report, it seems that the top usage is still from WordPress with a 60%, followed by Joomla with 9% and Drupal with 8%.
Google search trends also shows that WordPress is in the lead, followed by the other 3.
We can say for sure that wordpress is currently powering the internet, since more than half of all websites using any CMS are using wordpress. It just goes to show how much work has been given with wordpress in the last years of development. Even this website is powered by wordpress, so best say some nice words, right? Keep in mind that by default, this script is a blogging software, but from there you can build some impressive websites.
Nothing really new comes to mind to let you know, most of us in web development has at very least heard of it, if not already using it.
- Wide range of plugins, themes and widgets for developing the website however you want
- Multilingual support
- Support e-commerce, social networks and many more
- New themes now-days come with responsive design, gives a more professional look over all
- WYSIWYG editor is provided directly with the standard installation
- Easy CSS and PHP editing directly from Admin page
- Last update included a full responsive design built-in for backend
- While it is really simple to use WordPress, to make full usage of all its power, you do need to have some bit of knowledge of its codex
- Once you grow your website, resource usage tends to grow tremendously as well and a dedicated server or VPS server at least will be needed
Joomla is the next in line to the top used CMS, it is a general purpose CMS, it looks really nice, especially the 3rd version, Joomla 3, which now is fully responsive.
- It is easier than Drupal, but a bit more complicated than WordPress. However compared to WordPress, Joomla is a full complete CMS system
- Support for OpenID, LDAP, Gmail.com
- You have a vast amount of plugins, components and modules as well as abig collection available on the internet of Joomla themes.
- Easy installation
- Has a lot more paid plugins than free, to get a real usage of its power, you may need to pay a penny or two.
- I’ve seen it respond way slower than wordpress, despite all the optimization you make. A big website will use a fair amount of resources even if its visits are not that impressive.
- In the past, the upgrading system was really a headache, it was really hard to upgrade from one version to another, but now, from version 2.5, upgrading to the next version should be easier.
- Older version which are no longer supported and very hard to upgrade and have a lot of bugs and security holes.
The last one on our little list is Drupal, having 8% share usage of all CMS used on the internet. Its far more complex than the other two and you do need to have some technical skill and experience to use it.
- Hooks are available to predict almost any issues in the system
- CCK and VIEWS modules
- It seems it is becoming easier to use with each release based on some views of the developers
- Support for OpenID, user profiles, forums etc.
- Because of its complexity, it is becoming really hard for new users to use it. Customizing Drupal takes a lot of time and some bit of programming is needed.
- It requires more resources, at very least until the website is finished developing, you will see an increase in usage on each page view.
- It is damn slow until you get the website out of development
Ok, now what about our little Framework? I tried searching for you guys for a place where, like before with CMS, a statistic usage is being shown, however I could not find one. In the end we are left to see at least which of the Frameworks are more searched on the Internet until now. So we’ll pick the most 3 searched frameworks further.
From what I could see, the list
- Zend Framework
are the top most searched Framework on the internet at this moment. Below you can see a nice graph regarding this.
As you can see Codeigniter is currently the most searched on the internet, contrast to what people were saying in another article we made that is not being maintained, after further checking their main website, I can see this project has not been left to die, in fact it is still being developed further!
Advantages offered by this Framework are listed on their main website:
- Has broad compatibility with standard hosting.
- It has nearly zero configuration.
- It will give you simple solutions to complexity
Yii is a high-performance PHP Framework best for developing Web 2.0 applications. Yii comes with rich features like MVC, DAO/ActiveRecord, I18N/L10N. In-built caching system, authentication and role-based access control, scaffolding, testing, etc. It can reduce your development time significantly due to pre-generating the code for you.
Advantages from YII are:
- It is damn fast, Yii only loads the features that you need and has powerful caching support. It is explicitly designed to work efficiently with AJAX.
- Out of the box it is made to be secure, it includes input validation, output filtering, SQL injection and Cross-site scripting prevention.
CakePHP is the last PHP Framework on our little list here, it has very good documentation, but keep in mind that current tutorials on the internet are made to work with older version of this Framework. You may need to adjust them a bit, so carefully check the documentation before using the tutorials. Currently developers of CakePHP are working on the latest version 3, which is still a preview, but hey, that’s their little surprize with this new year!
Advantages from CakePHP are:
- No configurations are needed, just setup the database and we are ready to go
- Out of the box components for translations, database access, caching, validation, authentication, and much more
- Built-in tools for input validation, CSRF protection, Form tampering protection, SQL injection prevention, and XSS prevention
That’s about it for this article, I think at this point if you followed up everything, you should have a better view on what you should choose between a CMS and a PHP Framework. It is easier to choose a CMS, but for most developers, they will probably like to know exactly what is working in a specific part of their website.