November 13th 2013. 2:52 pm.

PHP Framework and CMS Scenarios

When it comes to PHP frameworks and CMSs, there is only one right tool. The one that's right for the job. Here are some possible scenarios:

  1. The client wants a quick blog. They don't want anything too fancy beyond the basics. The project is not expected to be maintained by you beyond a basic level of functionality.
    You should choose Wordpress. It is the most popular and widely known blogging CMS. By choosing Wordpress you are ensuring the maximum amount of people know how to use it and maintain it.
  2. Your client wants a complicated web app. It pulls from multiple data sources and presents information in a unique way. There may be a 'blog' or 'news' section, but it is secondary to the main app. There is a possibility they will want you to maintain and add new features to the app in the future.
    You should choose Codeigniter or Laravel or any framework of your choice. Wordpress may be nice for blog posts, but it's not worth dealing with when the main focus of the app is in other things. What you want in this case is an MVC framework that allows for rapid development.
  3. Your client wants an article / blog site PLUS some unique features like #2 above. You may be maintaining and adding features in the future.
    Use a CMS created in the framework of your choice. For example, ExpressionEngine for CodeIgniter. You could really use a CMS for this job, but Wordpress isn't built on an easily to work with framework. Combine the best of both worlds. It saves you from having to reinvent the CMS wheel, and gives you a rapid development MVC environment.
  4. Your client is just like #3 above, BUT they insist on Wordpress.
    Don't think you're stuck having to learn and maintain a complicated series of Wordpress templates. In this case it is quite possible to have a Wordpress install AND a separate PHP framework install work together. I do it through subdomains. Sure, you will have to write your own models for accessing Wordpress content, but from experience I know that isn't too difficult. You will have the freedom to develop the site MVC style without the Wordpress template nightmare.
  5. Your client insists on no 3rd party PHP
    Try your best to avoid clients that insist too much on re-inventing the wheel. It's not good for your personal growth as a developer. And no matter how many safeguards you put in place, you will almost always dissapoint the client in speed of development, ease of use and number of features.
comments powered by Disqus