Laravel vs Codeigntier

 

I just came across with two posts for Laravel Framework with two different opinions
Laravel is awesome and Laravel – a beautiful PHP framework that does not make me feel stupid but with the same conclusion (Laravel is awesome!). As both blog posts where intrested, I would like to have my opinion too with the Laravel framework and Codeigniter.

 

So which is more awesome?

Laravel indeed! I think Phil and Vladstudio gave enough reasons to move to Laravel and I don’t want to say more.
As you already perhaps know I am now actively developing 2 libraries in Codeigniter and all my projects at my portfolio are all made in Codeigntiter Framework. So the question is did I move to a different framework? Well … I already done it long time ago… I am using for my big projects Zend Framework as it has really lot of libraries such as Amazon Services, Advance Memcache, really advanced db active record, e.t.c. However for all the small/medium projects I am still using Codeigniter as I am familiar with the code and I’ve already created extensions for CI . For example I don’t care if Codeigniter doesn’t have a Layout controller I have created mine. I don’t mind if it has not an Authorization library (with full database structure e.t.c.) I have already created mine and so on. However I was looking forward for a brand new framework that has these functionalities in the Core system and not as external libraries. I have to say that I am more “stack” to Codeigntiter framework rather than “like” Codeigniter Framework. I work with Codeigniter for 4 years and I have created my own libraries and my custom CMS is based on Codeigniter so it is difficult for me to move to a different framework if I don’t have a good reason to do it.

So Codeigniter is dead??

To tell you the truth I thought that actually CI will die someday but this will simply never happen. Why?
1. The large community will never let Codeigniter to die! You really cannot realize how many people are using Codeigniter for small but also large projects right now.
2. It is stable enough and tested from many users. This means that even if a new version have something unstable (e.g. 2.0.3) I am sure that the users have already mentioned it and solve it. If you don’t care about changing the core of CI for fixing small bugs that’s fine.
3. It is really well documented. I think is the best documented framework that exists in PHP right now.
4. Very easy to use even if you don’t know about MVC architecture. A really good start especially for Newbies that only used pure PHP to their projects as I was one time before using CI.
5. Really 0 configuration to start working with CI
6. CI 3 is promising more stability and more organized unit tests.

But this are not enough reasons for me anymore! I need more features as things runs so fast and we need more and more. I don’t like to look for external libaries for obvious things . Laravel can support really lot of stuff that in my opinion every modern framework should have. To be more specific some small things that I liked in Laravel:

  • Templates with basic webpages layout with sections… e.t.c. [Please tell me which website DOESN’T have a basic layout?]
  • Exceptions with detailed stack trace. [CI doesn’t have it!]
  • Authorization library
  • Object Oriented Libraries with autocomplete. I don’t know when CI will get rid of the $this->library_name->library_function(); and $this->load->library thing. In laravel it is simple “Libraries and Models are very easy to use thanks to the Laravel auto-loader”
  • Widgets with assets (such as JS and CSS). Lavarel has bundles that it is great and with a very good structure.

and really many more reasons but especially I like that it makes me feel.. happy! I don’t want to be more specific about the two frameworks. If you want to read more you can go to Laravel – a beautiful PHP framework that does not make me feel stupid and read why to choose Laravel instead of other frameworks. I agree with the person who wrote it but not for … Zend (come on monster???) I just wanted to mention 2-3 things about Laravel and tell my opinion about Laravel and Codeigniter. The Laravel is still in an experimental stage for me so perhaps I will change my mind in the future. But till now… I LOVE IT.

Table Comparison

Module Laravel Codeigniter
Layout Control Yes No
ORM Yes No
Error Stack Trace Yes No
Class Auto Loading Yes No
–Database mySQL Yes Yes
–Database SQLite Yes Yes
–Database MSSQL Yes Yes
–Database PostgreSQL Yes Yes
–Database Cubrid Yes No
–ODBC drivers Yes No
–Database MariaDB No No
Authentication Library Yes No
External Modules Yes (Bundles) No
Form Validation Rules Yes Yes
Internationalization Yes Yes

For more you can go straight away to laravel.com/

Update 2017: As this topic is still hot, I did also create a quick video with my opinion of Laravel VS Codeigniter

So what do you think? I am curious to see what is your opinion about it.