What MVC would you recommend? CodeIgniter, CakePHP, Zend, etc.

timmie23

Well-Known Member
Joined
May 10, 2010
Messages
419
Reaction score
0
I have been doing web stuff for years now, it's also part of my studies, done JavaScript, PHP, Python.
I see a lot of the web dev positions globally want you to have MVC Experience as well.

Which would you guys and girls here recommend for someone that hasn't worked with one before?
 
ASP.net MVC 5.

Hehe sorry, PHP wise I haven't got a clue. I hope someone can help you out.
 
I asked before. For Php if I had to choose I would probably go Laravel.
 
perhaps explore a new paradigm where middleware is not required and your MVC moves to javascript talking to a PHP/.NET/Parse.com API ...

So the question becomes which javascript MVC framework should you use...

Thus you take most computational load off the server enabling a doubling or tripling of serve-able users per server instance..
 
Personally I would advise against cakePhp, anything else but that :p

striken does have a good point, you can make an api and have a frontend work back to it.
For that you can check out Node and Express on the backend (api side) and angular or backbone on the frontend.

also check out deployd.com - Api built in seconds!
 
An API can still use MVC. Json is the V, while the Json object is the M
 
Laravel seems to have taken over from CI in popularity. PyroCMS is swapping over iirc. Laravel and Silex seem the most popular choices for a packaged cmf based off Symfony/composer. Drupal 8 is also drawing some Symfony components in core.
 
Glad somebody else started this thread, got some nice input here.

I'm busy with a project, a slow moving when-I-have-time project, and I'm thinking maybe I should work within a framework like this.

Simple question, what does a framework like this actually bring to the table? I like building things from scratch as it gives me the freedom to do things exactly like I want them and don't have to hack anything to fit into a mould of how I want it to work. This is the main reason I'm not using a CMS like WP or Joomla, etc.

The project I'm doing consists almost completely out of graphs and tables (using Google charts) and I'm working with a lot of data from MySQL (served as JSON). Everything so far is custom built from the user auth to custom import scripts. Is it worthwhile incorporating something like Laravel?
 
The number one thing IMO that MVC frameworks give you is reduction in technical debt.
This is a huge huge factor. By writing things yourself, you have turned your 100's of lines of business process in 1000's. Maintenance goes through the roof

The "getting tied in and can't do things my way" argument is invalid. If you need to hack a well written framework, like laravel, then most likely the problem lies with you, not the framework. Trust me, you know nothing about writing an MVC framework, just like laravel knows nothing about your business requirements.

People who write their own components unnecessarily, which 99.9% is the case, are idiots


PS I am not actually calling you an idiot :)
 
Last edited:
The number one thing IMO that MVC frameworks give you is reduction in technical debt.
This is a huge huge factor. By writing things yourself, you have turned your 100's of lines of business process in 1000's. Maintenance goes through the roof

The "getting tied in and can't do things my way" argument is invalid. If you need to hack a well written framework, like laravel, then most likely the problem lies with you, not the framework. Trust me, you know nothing about writing an MVC framework, just like laravel knows nothing about your business requirements.

People who write their own components unnecessarily, which 99.9% is the case, are idiots


PS I am not actually calling you an idiot :)

I must be the 0.1% then :D

When I was talking about the hacking, I was referring to the CMS's.
 
I must be the 0.1% then :D

When I was talking about the hacking, I was referring to the CMS's.

well yes, that is slightly different and is a problem.

MVC frameworks are not CMS's

They are implementations of a tried and true software pattern.

Extending CMS's on the other hand is a huge nightmare. But you get into another problem here, because going custom on a CMS is a viable route to take. The problem is that now you have a weird question on your hand. Am I now a CMS vendor?? If you have smart people, it is entirely possible that you could get viable product as a side effect.
 
From your new title, it seems like you are asking which PHP MVC framework..

Before going down that route, first read up on the MVC design pattern. You should know the concept before you use any implementation.

I first started off with RoR back in 2007. Was so impressed and could not believe what you could do by using a web mvc framework. Sure it was slow, but it was well worth the productivity.

In mid 2008, I used the Django framework. Again, using this made us write better code and was instantly more productive.

Fast forward to 2011, the PHP frameworks that I evaluated was Zend, Yii and Symfony. I like the Symfony community and think it is a fantastic framework. Yii was also awesome but felt it wasn't moving fast enough in terms of development.

Enter Zend. The guys at work chose Zend over Yii (Yii had my vote) for the intranet project. I'd already done one sales system in Zend and so had an understanding of its architecture and how to get things done. Zend is component based and so for example, you write the implmentation of the Zend_Acl the way you see fit.

Now I've been using ASP.Net MVC for a while. It is one of the nicest frameworks I've used. Since its .Net, you get a lot of other libs you can pull in to do what you need.

However, for my personal stuff, I use Django for backend admin.

My recommendation would be to learn ASP.Net MVC. Why? Have a look on PNet and you will see even the PHP positions will say "ASP.Net MVC or similar".
 
I must be the 0.1% then :D

When I was talking about the hacking, I was referring to the CMS's.

The other thing you are missing out on is other peoples code.
Most frameworks and cms' have plugins and extensions.
By writing your own cms/framework you're excluding yourself from a very big set of resources.

The facebook login plugin, social sharing stuff and image gallery (as examples) you want to add to your site could have taken an hour, now you need to figure out the facebook api, what permissions you need to give your fb app to do the sharing, which jquery module works best as an image gallery, etc, etc. By the time you have one of those done in your own system, you could have had all of them done.

Unless you have "the next best thing" and are developing a cms/framework (and the chances of that are veerryy small - rather add your effort to an existing one), there's absolutely no reason not to use an existing framework/cms.

I used to have the same mindset as you and always though that it would take so long for me to figure out how this framework/cms works that by the time I have that done I could have finished the site. Then one day I took the leap and I'm so glad I have! Yes, there are many plugins and extensions that are buggy and crap but they're easy to spot and avoid. The good ones are well worth the time as you know it's rock solid and has been tested by a community of people, you can trust it and carry on with something else - saving time, saving money.
 
The other thing you are missing out on is other peoples code.
Most frameworks and cms' have plugins and extensions.
By writing your own cms/framework you're excluding yourself from a very big set of resources.

The facebook login plugin, social sharing stuff and image gallery (as examples) you want to add to your site could have taken an hour, now you need to figure out the facebook api, what permissions you need to give your fb app to do the sharing, which jquery module works best as an image gallery, etc, etc. By the time you have one of those done in your own system, you could have had all of them done.

Unless you have "the next best thing" and are developing a cms/framework (and the chances of that are veerryy small - rather add your effort to an existing one), there's absolutely no reason not to use an existing framework/cms.

I used to have the same mindset as you and always though that it would take so long for me to figure out how this framework/cms works that by the time I have that done I could have finished the site. Then one day I took the leap and I'm so glad I have! Yes, there are many plugins and extensions that are buggy and crap but they're easy to spot and avoid. The good ones are well worth the time as you know it's rock solid and has been tested by a community of people, you can trust it and carry on with something else - saving time, saving money.

Thanks for the reply, but in this specific case using a cms is really just going to hinder me. That is why I was asking about these other frameworks.
 
My recommendation would be to learn ASP.Net MVC. Why? Have a look on PNet and you will see even the PHP positions will say "ASP.Net MVC or similar".

THIS is very important too!!

Using an "industry standard" (no the right words but, maybe "commonly used") framework/cms exposes you to good coding practices, gives you a community to interact with for networking, job offers, etc and it helps on your cv and looking for work.

As shauntir said, someone looking for a ASP.Net MVC developer or a Django person is going to be wanting just that, someone that knows the framework.
 
Thanks for the reply, but in this specific case using a cms is really just going to hinder me. That is why I was asking about these other frameworks.

Pleasure.

Is it worthwhile incorporating something like Laravel?

I'd say it most definitely is.


Once you've found one you like, check for plugins/extension and get familiar with one or 2 core ones (usually users, auth, role permissions, social media) and make yourself a "base package" that you can use for all your future projects. This gives you a huge boost in time when starting something new!
 
Last edited:
Wow. Didn't expect to get so much feedback on this question :-)

Thanks everyone, I'm really gonna start looking into Laravel seeing that everyone is giving it so much praise.
Also still gotta learn GitHub as well.

For a Web Dev, what else would you guys recommend for the future? The thing I know is you can't just focus on a couple things, you gotta unfortunately know so many different things.

Really looking forward to getting deep into it after my exams are done. Thanks again
 
Top
Sign up to the MyBroadband newsletter
X