Jump to content

Which frameworks would you recommend to start with


CrimpJiggler

Recommended Posts

I've spent countless hours programming PHP apps from stratch with nothing but a lightweight GDE (geany) and I was doing the same with javascript until I tried JQuery, now I understand what frameworks are all about. I tried cakePHP a few days ago and love it. I hear you can use all kinds of frameworks with cakePHP so I wanna try some out to see if they are useful, so I won't find out about them years later and realise I shoulda used them from the start. Someone on this forum told me to check out composer. I see its like a package manager which installs packages for you. I set that up. I heard of zend and symfony and read the desciptions on their websites, but don't understand, they sound like all emcompassing frameworks like CakePHP. There'd be no point in using two of these things on top of each other or do I have the wrong idea.

 

Can you list a few good PHP frameworks that I could use hand in hand with cakePHP.

Link to comment
Share on other sites

I think your understanding of frameworks is slightly skewed. CakePHP is a framework in its own right, you dont need to add other frameworks into it. Frameworks help to make an application scalable, enforce standardisation in your code etc. 

 

There are many frameworks out there, you just need to find your best fit. You want a quick blog then use drupal or wordpress. You want to code from the ground up using proven frameworks tend / Symfony / Laravel.

Link to comment
Share on other sites

You're probably going to find that you will eventually try most of the popular frameworks. I normally do this on holidays or when I'm bored. I find that there are some things to love and hate about most frameworks. That said, I think you are going to find that a lot of people want you to code their way, so they will say try framework foo or framework bar. You just need to do some investigation and start using the one that feels the best to you.

Link to comment
Share on other sites

I completely agree with sKunKbad. Having people recommend you a framework is close to useless. People will just recommend what they like. This doesn't mean you will also like it.

 

You need to try a few for yourself.

Link to comment
Share on other sites

If you are a beginner, IMPO, one should learn Codeigniter and CakePHP. After that you can develop some projects on FuelPHP which uses composer.

At the final, put your hands on Laravel 4 which is a mothership of Fuel.

 

Now many people will say CI is dead, I said that actually clears the idea of MVC because they got the best documentation. It is very simple to use. But ellislab.com has stopped its support for CI.

I heard CakePHP is pretty much similar to CI but I haven't yet used it in my projects. I am using FuelPHP and Laravel 4 on my current projects.

Both of them are mostly same but L4 got big community support compared to Fuel.

From community support point of view, I think CI comes with best forum support, still people out there are active.

About Fuel, there is not so much noise on their forums. And talking about L4, yes there is a noise but more of that comes from people looking for solutions to problems. Most of the threads on L4 forum have not yet replied from many months.

Link to comment
Share on other sites

  • 3 weeks later...

I recommend Laravel 4 as being like the 2nd generation CodeIgniter, it is simple yet powerful. At the end of the day, use what you are most comfortable with. A framework or language is only as good as the programmer using it.

 

Laravel 4 is absolutely not like the 2nd generation CodeIgniter, except for the fact that it is popular, and we are doomed to work with a myriad of poorly developed sites that used it. Routing is way different when comparing these frameworks. It's so different that if you actually like the way CodeIgniter handles routing, you'd be fairly bummed about Laravel's way of handling it. Another huge difference is the DB classes. CodeIgniter has a way more robust query builder compared to Laravel. I also hate ORM, so the fact that Laravel has dedicated so much of it's DB interaction to it is pretty lame for me. It may sound like I'm sticking up for CodeIgniter, and it only seems that way because of how much I dislike Laravel. That said, if a person wants to choose a first framework to experience what frameworks have to offer, I guess Laravel is as good as any. You're definitely right about the framework or language only being as good as the programmer using it.

Link to comment
Share on other sites

Laravel 4 is absolutely not like the 2nd generation CodeIgniter

 

From this I would say you prefer a more "traditional" approach and that's OK (K.I.S.S is good). It's also why CodeIgniter is a great learner's framework. Personally I find CodeIgniter cumbersome to use over time, having to perform a lot of low level programming. So I guess it is a matter of taste.

 

Of course if you have a bias against ORM then CodeIgniter is the obvious choice; CodeIgniter's Active Record class is like a very basic ORM without any of the complex moving parts (no relation definitions, etc). After using both extensively, I think Laravel offers more leverage with a similar API. I agree with you about the routing, in fact, the administrator tool I am working on now uses a routing system similar to CodeIgniter sitting on top a Laravel route. Again this is because I prefer the traditional approach in this usage case, less flexible yet more predictable.

 

So it could be a matter of taste and contingent on the application requirements.

Edited by bastion
Link to comment
Share on other sites

  • 2 weeks later...

Any recommendation is completely pointless. I'd not recommend CakePHP, because I don't like it. As someone before said, people will recommend what they like and what they know.

 

From the other hand, there are plenty of frameworks out there. Some of them are cool, some of them are crap - you need to give them a try. Of course, everything depends on your skills and your knowledge. I'd not recommend SF2 to a newcomer into the frameworks' world.

Link to comment
Share on other sites

  • 1 month later...

I agree the choice is somewhat overwhelming coming to PHP land as a newbie. Before I was using python django. 

 

 I'd not recommend SF2 to a newcomer into the frameworks' world.

 

Which is a bit of a bugger because that's where I was thinking of starting, only because it seemed it would probably be well tested being used by drupal and all. Lavarell seemed like a Rails of PHP not that in itself is bad but I got the impression everything was implicit rather than explicit. 

 

http://www.sitepoint.com/best-php-frameworks-2014/  from this the other main newbie seems Phalcon, but it seems mysterious so wasn't wanting to start there.

 

So Yii seems to be a good option built from 5 in OOH style and doesn't have legacy PHP 4 code as Codeigniter does(could be wrong) so it should hopefully reduce errors in learning PHP as well.

Link to comment
Share on other sites

I agree the choice is somewhat overwhelming coming to PHP land as a newbie. Before I was using python django. 

 

 

Which is a bit of a bugger because that's where I was thinking of starting, only because it seemed it would probably be well tested being used by drupal and all. Lavarell seemed like a Rails of PHP not that in itself is bad but I got the impression everything was implicit rather than explicit. 

 

http://www.sitepoint.com/best-php-frameworks-2014/  from this the other main newbie seems Phalcon, but it seems mysterious so wasn't wanting to start there.

 

So Yii seems to be a good option built from 5 in OOH style and doesn't have legacy PHP 4 code as Codeigniter does(could be wrong) so it should hopefully reduce errors in learning PHP as well.

 

I think you should just go for SF2. Being that you have programming experience, you'll do fine. A lot of the other frameworks borrow code from SF2, so it must be good, right? I use my own proprietary framework, but if I didn't, I'd use SF2.

Link to comment
Share on other sites

It's also why CodeIgniter is a great learner's framework

CodeIgnitor is a terrible framework to learn anything from. It is poorly designed and poorly tested.

 

it will teach new comers nothing but how to write poorly designed and poorly tested code.

Link to comment
Share on other sites

CodeIgnitor is a terrible framework to learn anything from. It is poorly designed and poorly tested.it will teach new comers nothing but how to write poorly designed and poorly tested code.

Fair enough. Do you have a recommendation for new comers that will help?

Link to comment
Share on other sites

I agree strongly with Tony (trq) about CI.

 

The thought leaders of the PHP community work on Symfony2 and ZF2.

 

Both of these groups threw out popular frameworks and started over, which tells you something about their commitment to doing things well. FWIW they both built Dependency Injection frameworks, and have looked at the best practices in OOP design and what works well in the popular frameworks used in other languages like python and ruby, and borrow from those.

 

Symfony2 has driven a lot of php innovation. When people talk about Laravel, much of the core is based on the use of symfony2 components. They are also providing the core of the new Drupal release, as well as a number of other well known PHP applications like phpBB and ezPublish.

 

Here's a list of apps and libraries known to use Symfony2 components: http://symfony.com/projects

 

The same group also offer a micro framework sharing many of the core components named Silex, so it's possible to move back and forth from symfony2 full stack and silex projects and use a lot of your knowledge in either stack.

 

The community is large, and the documentation is very good. Symfony2 has a huge number of bundles that integrate all sorts of component libraries and make them easy to use in your symfony2 projects. The now essential composer tool came from the Symfony community.

 

Symfony2's templating language (twig) is in my opinion the best php template language available. Laravel's Blade, as an example, is barely a step above PHP and frequently requires you to have to drop in PHP blocks, which defeats the entire purpose of using templating.

 

If you are building Mysql/PHP stack projects or using MongoDB or some combination of the two, it's got excellent documentation in how to integrate and utilize the Doctrine2 ORM for your database work.

 

The guy who is the documentation lead for Symfony2 has a company that offers a series of really complete video training courses as well, that are highly reasonable in price, in my opinion. See http://knpuniversity.com

 

There are a number of free episodes about various PHP topics so you can get a taste of what they offer. Here's one on the Composer tool: http://knpuniversity.com/screencast/composer

 

There's a number there worth checking out.

 

My advice to anyone starting out, is to avoid the really old KISS frameworks like CI and Cake. That would be like trying to learn Android programming using a book on Visual J++ 1.0. You want to learn what people are doing in the state of the art, not what was being done 8 years ago.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.