Jump to content

Is Framework Right for me?


HipHopServers

Recommended Posts

What books should I consider when trying to determine if I should learn how to use Framework when developing my PHP projects?  As read more and more about Framework it seems like a shortcut application.  Is this something like software of sort that helps with development and making notes as you move along through the project? 

Link to post
Share on other sites

A framework is just a library.  The old saying of "why reinvent the wheel?" applies.  With that said, the better frameworks also bring a paradigm to the table.  They typically give your application structure and provide components that typically make your application faster to develop in the short term, and easier to maintain in the long run.  The general consensus is that the Model - View - Controller (MVC) design pattern is highly suited to the chore of developing  a substantial website. 

 

If you're developing a new website my personal opinion is that you should code against one of the newer frameworks.  The two most active projects are Symfony2 and Zend Framework2.  I'd suggest that rather than trying to find a book, you are far better off, checking out the sites for each framework, looking at their documentation, downloading and installing them, and creating a simple application.  There are many tutorials out there that can help you get your feet wet with each.  People new to frameworks and MVC often find that older frameworks like Codeigniter or CakePHP are easier to get started with, but from my point of view, that's like investing in learning java development by reading a book that teaches you how to code using Visual J++.  In other words, you'd be investing in something that has no future and is teaching you obsolete techniques. 

 

 

Link to post
Share on other sites

... In other words, you'd be investing in something that has no future and is teaching you obsolete techniques.

 

You could say that CodeIgniter and Cake are old and obsolete, but I continue to make tons of money with CodeIgniter. I was hired and have been working on a large project for more than 18 months because I knew CodeIgniter. So, apparently employers are hunting for people that know specific frameworks, and telling somebody to not use CodeIgniter because it is obsolete and has no future may be bad advice. I for one could care less what framework I use, because I try not to pretend I am too elite for one or the other. My primary goal is to make money, and the framework I use is not as important as the fact that I can do what I need to do to get the job done. Cha-ching!

 

Laravel is actually a newer framework that seems quite popular. If I was starting with frameworks, I think I'd choose Laravel.

Link to post
Share on other sites

Those who know COBOL also make a lot of money, but I wouldn't recommend anyone to start with learning it. It's just a simple fact that those frameworks are old and obsolete, and thus there is really not much point in starting with learning them now. For the same reason that learning COBOL now is almost a pure waste of time.

On the flipside of that, those who already know those framework might see their services in demand, as there will be less and less people who really know them inside out. Those who've recently just learned them, however, might find it a lot more difficult.

 

That's why I'm with gizmola on this one: Pick one of the newest and most active frameworks, it'll give you the most return for the time and effort invested. It'll also help you learn the most current skillset, which, in turn, means that you'll enjoy the benefits of that investment longer.

 

PS sKunKbad: Anecdotal evidence of a single person, isn't really evidence. You might be the only lucky one, for all you know, after all.

Link to post
Share on other sites

You could say that CodeIgniter and Cake are old and obsolete, but I continue to make tons of money with CodeIgniter. I was hired and have been working on a large project for more than 18 months because I knew CodeIgniter. So, apparently employers are hunting for people that know specific frameworks, and telling somebody to not use CodeIgniter because it is obsolete and has no future may be bad advice. I for one could care less what framework I use, because I try not

 

You miss the point entirely.  Someone new to frameworks is better off learning a framework that utilizes state of the art features of the language and best practices.  Someone who is experienced with the language and already knows those features, is free to move from framework to framework and doesn't need to be concerned about working with something old, because they can just as easily use one of the more modern frameworks if need be. 

 

With that said, I expect that interest in CI will continue to dwindle now that PSR-0 is out, and the php framework world is moving towards Composer, and frameworks that can integrate the most functional and up to date libraries available.

 

 

Link to post
Share on other sites
  • 2 weeks later...

I only started using Codeigniter this year, and it seems to do everything I need, i also found it easy to pick up and definately well documented.

Should i just move on from it? I am keen to keep upto date, and as far as I knew Codeigniter is still 'active' and due a 3.0 release at somepoint in the future, surely this means it is not obsolete?

 

Link to post
Share on other sites

I only started using Codeigniter this year, and it seems to do everything I need, i also found it easy to pick up and definately well documented.

Should i just move on from it? I am keen to keep upto date, and as far as I knew Codeigniter is still 'active' and due a 3.0 release at somepoint in the future, surely this means it is not obsolete?

 

CI is very simple, and easy for people to get up to speed with.  It is also a framework that was developed for php4.  PHP5 was released in July of 2004.  The most successful PHP4 frameworks have been freshened and updated obviously, but that doesn't change the fact that they had to play by an entirely different set of rules 8 years ago.  My considered opinion is as stated - those frameworks were great in their day, but developers who want to use a state of the (PHP) art framework will be looking at the ones I mentioned, or possibly some of the newer frameworks.  Part of the success of any framework is the ecosystem around it.  Symfony2 for example, already has a myriad of bundles that add all sorts of capabilities to it.  Assuming there is an amenable architecture, the more interest there is in a framework, the more likely that there will be substantial plugins/modules/addons available for it.

 

This is really the best answer I can give, because the premise of your question requires so many variables that several books could be written on the subject.  One significant question is one of philosophy.  What do you expect from a framework, and why are you using one?  If it's to cobble together small websites that don't require a lot of sophistication, then your consideration of the relative capabilities of the framework is not that important.  However, when there is a major change to the php language that profoundly changes how the practice of development works, I think you're better off tracking that and looking at why the changes were introduced and what problems they were meant to solve.  Someone who truly knows the language can use any framework to solve problems, but ideally the framework is providing you a substantial base to work from. 

 

 

Link to post
Share on other sites

Using frameworks will :D avoid you in having a spaghetti code

 

No. Actually, when you use a framework and you are not a good programmer to begin with, you will end up with a bigger ball of mud than what you would have had if you hadn't used it.

Link to post
Share on other sites

Using frameworks will :D avoid you in having a spaghetti code

 

No. Actually, when you use a framework and you are not a good programmer to begin with, you will end up with a bigger ball of mud than what you would have had if you hadn't used it.

 

That's the story of my first real project (with an MVC framework).

 

Starting with Symfony 2 or Zend Framework 2 is sound advice.  Symfony 2 might be easier to get a grasp on at this point, since Zend Framework 2 just came out and may not have as thorough documentation.

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.