1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Which PHP framework to focus on first?

Discussion in 'PHP' started by leadinmarketing, Sep 2, 2014.

?

Which do you use?

  1. CakePHP

    11.1%
  2. CodeIgnitor

    27.8%
  3. Yii

    5.6%
  4. Laravel

    38.9%
  5. Symfony

    5.6%
  6. Zend

    11.1%
  7. Kohana

    0 vote(s)
    0.0%
  1. #1
    Ok. Once I get my skill sup with PHP, I want to learn one of the many open source frameworks out there. I am going to list the ones I know and have considered:

    CakePHP, CodeIgnitor, Yii, Laravel, Zend, Symfony, and Kohana.

    From my research:

    CakePHP- one of the most widely used
    CodeIgnitor- 2nd most widely used and faster to learn than CakePHP, but lacks some features of CakePHP
    Yii- One of the fastest out there with a good amount of users
    Zend- one of the most robust and complete frameworks with the largest learning curve
    Symfony- Right up there with Zend. One of the best and most complete and secure ones available
    Kohana- Dont see too much about this, but the developers that use this love and sware by it. The underdog
    Laravel- The newest BUT the one that has alot of people switching over. Excellent reviews and "awards". People love this.

    All the other frameworks out there have not had enough "press" for me :D. These seem like the most used. I would like to know whats the "best"(,- I know thats relative).

    Can the people with actual experience with different versions and systems, tell me:
    1. Whats the Fastest to learn.
    2. Whats the most complete.
    3. Whats the current 2014 most requested by companies.
    4. Whats the one you recommend I focus on

    P.s. Is it possible to learn AND function with TWO frameworks?
     
    leadinmarketing, Sep 2, 2014 IP
  2. PoPSiCLe

    PoPSiCLe Illustrious Member

    Messages:
    4,623
    Likes Received:
    725
    Best Answers:
    152
    Trophy Points:
    470
    #2
    You left out "none of the above" in the poll above...
    Learning frameworks, while perhaps good for a potential job, should definitely be secondary to learning PHP properly - when it comes to learning a framework, it all depends on what you want to learn and why you want to learn a framework - I would personally suggest learning something that is popular with employers, if you want to learn it for getting money when working - maybe Zend (simply because it's popular when it comes to business environments). Just be aware that most businesses still use the former version - not many have moved to the latest version of Zend yet. They're fairly different.
    However, mostly, PHP frameworks are... usually bloated crap, and should mostly be avoided.
     
    PoPSiCLe, Sep 2, 2014 IP
    NetStar likes this.
  3. leadinmarketing

    leadinmarketing Greenhorn

    Messages:
    56
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    6
    #3
    Ha! Good point. I guess all frameworks will add additional code to the script(even if minuscule). Yes. I was generally thinking toward the job side of things. And maybe potential benefit with common code. But then again, I can have my own common code to be copied and pasted...... I do plan on getting very good at PHP before I checkout any frameworks. Thanx.
     
    leadinmarketing, Sep 2, 2014 IP
  4. sarahk

    sarahk iTamer Staff

    Messages:
    28,500
    Likes Received:
    4,460
    Best Answers:
    123
    Trophy Points:
    665
    #4
    I take the opposite stance to @PoPSiCLe and see learning a framework as being a good learning tool. When you delve into the code that other people have written and had peer reviewed and polished you get to see how they solve security and speed problems. You see first hand how they've designed their system to be able to be adapted and to evolve. I learned more from breaking mambo, wordpress and cakephp than I ever could have from php.net and w3schools.
     
    sarahk, Sep 2, 2014 IP
    sarah_23 likes this.
  5. funzie

    funzie Well-Known Member

    Messages:
    71
    Likes Received:
    2
    Best Answers:
    0
    Trophy Points:
    123
    #5
    I would start at the basics first. Just regular PHP, then move into the frameworks. Sure you can learn a framework and program something, but do you really know how it works a higher level up? It will allow you to better debug problems and be a better programmer. I come from the time there were no frameworks. Back when you had to write Javascript the hard way and Composer didn't existed. My suggestion is to pick a framework that you find easiest to understand and go with that.
     
    funzie, Sep 2, 2014 IP
  6. PoPSiCLe

    PoPSiCLe Illustrious Member

    Messages:
    4,623
    Likes Received:
    725
    Best Answers:
    152
    Trophy Points:
    470
    #6
    @sarahk while I can see learning a framework as a useful learning-tool, if you learn that way, but as for learning proper code, there is no guarantee that you'll learn anything useful - just how that framework have gone about beating PHP into submission. Wordpress, for instance, I think still uses mysql_ (maybe they've upgraded, I haven't looked at the core-files for ages).
    Also, you learn how to use the framework's built-in functions and classes, but you have next to no control of how they do stuff, unless you go in and look at the core code (which, of course, you should).
    The main problem with frameworks is that they're built to do "everything" - hence, they contain a shitload of over-the-top complicated crap not needed in your own project - and I've still yet to see a framework with just the basics in the minimal core files, with plugins for added functionality - ie, you always end up with more code than you need.
    Also, quite a few frameworks are a PITA to modify, if you need to - albeit, Wordpress for instance, while not strictly a framework, have a theme-based functions.php file where you can, if you want stuff to behave properly and not break every validator in existence, create your own functions to replace the built-in ones - the problem is that you have to do this to begin with.
    The good part about building your own system from scratch is that you can decide what you need, and how to build it - it doesn't necessarily mean it's gonna be better, but at least you're 100% in control.
     
    PoPSiCLe, Sep 3, 2014 IP
  7. sarahk

    sarahk iTamer Staff

    Messages:
    28,500
    Likes Received:
    4,460
    Best Answers:
    123
    Trophy Points:
    665
    #7
    I've seen enough newbie code to know that being in control isn't always going to be a good thing. I'm coming from the perspective of someone who has had to peer review the work of colleagues, help out in forums, used WP/Mambo/Joomla plugins. Sometimes the code is great but I've had plenty of times where I've actually thrown it out and started from scratch the code is that bad. On the other hand, I've seen some brilliant code and learnt from it - often not immediately but down the line I'll be trying to write something elegantly and remembered something, and known that it could be applied to the current situation - usually a problem solving strategy, not the code itself.

    If people haven't been to programming workshops or done papers at school/uni then they aren't going to know why MVC is worth the bother of writing all those extra lines of code, or how OO can save them time in the long run. They have to find out by either recreating the wheel, reading articles or seeing how other people do it. I suspect many just want to roll up their sleeves and get going and set themselves up to make huge mistakes.
     
    sarahk, Sep 3, 2014 IP
  8. homer7

    homer7 Well-Known Member

    Messages:
    268
    Likes Received:
    25
    Best Answers:
    4
    Trophy Points:
    125
    #8
    homer7, Sep 3, 2014 IP
  9. leadinmarketing

    leadinmarketing Greenhorn

    Messages:
    56
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    6
    #9
    All respectful ideas and opinions. My plan is to get great at php and then (depending on where I am at in life) I may look into laravel or Zend. Maybe. We'll see
     
    leadinmarketing, Sep 3, 2014 IP
  10. jestep

    jestep Prominent Member

    Messages:
    3,659
    Likes Received:
    215
    Best Answers:
    19
    Trophy Points:
    330
    #10
    My main question is: are you learning php for your own projects or do you intend on getting employment from another company using your skills? For employment, Zend is the way to go. Magento is based on it, and many web dev businesses use it. Otherwise for personal only usage, either build your own, or get comfortable enough with one of the other frameworks and make it work for your needs.

    I truly appreciate the convenience that a framework can provide. I use one on most of my projects and I can develop fairly complicated applications in a fraction of the time that I could do it without a framework.

    With that being said, I share much of the sentiment of PoPSiCLe . I first think it's very important to get a solid foundation of whatever programming language you are planning on using before jumping onto frameworks or any pre-build platforms. This isn't just for the purpose of knowing the general usage of the language, but it's also to prevent you from creating poorly coded or non-secure programs. If you think a bad programmer can write a mess of code on their own, you should see what someone can end up with when you apply bad programming to a framework...

    As to their bloat, it really can't be understated. Something as simple as a function to format a date can use a megabyte of memory due to absurd autoloading and recursion that exists in most frameworks. Trying to debug a database query through an ORM can result in hundreds of pages of output for a single database call.

    So let's just assume you are going to end up using a developed one. As stated, if it's for employment, Zend is the way to go. If for personal, there's 2 that I would look at closer, Symfony and Lauravel. I prefer developing on symfony, and have since pre-1.0, but between them they are all going to be similar in learning and features. Both can be extensively customized. Symfony gets a bad wrap for being bloated because the vanilla build has a lot of unnecessary libraries that can and usually should be removed for production. It and probably yii would be the other 2 considerations for employment / business usage. Based on benchmarks and feedback I would also check out Phalcon as it is written in C and pretty much blows everything out of the water in execution time.

    I have a hard time believing Cake is bigger than any of these. It got popular because it got some good press and it has a cute name, but otherwise is inferior to just about every other one out there. I'm not sure if it's changed now, but it had some significant restrictions and proprietary requirements and really wasn't a contender to the other frameworks.
     
    jestep, Sep 4, 2014 IP
  11. ByteChef

    ByteChef Active Member Affiliate Manager

    Messages:
    64
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    75
    #11
    Getting basics of PHP perfect and then switching over to a Framework is always good.

    I would not prefer Codeigniter, as the developers of CodeIgniter have kind of stopped developing further. That is what I last read, maybe I am wrong.
     
    ByteChef, Sep 4, 2014 IP
  12. byybora

    byybora Well-Known Member

    Messages:
    183
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    105
    #12
    I use CodeIgniter, I will go Laravel for new projects
     
    byybora, Sep 4, 2014 IP
  13. leadinmarketing

    leadinmarketing Greenhorn

    Messages:
    56
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    6
    #13
    I definitely understand... Yes. As of now, it will be for personal use. But I may head the route of an employeed developer. If so, I will look into the Zend down the road. I did see several companies asking for CakePHP, Codeignitor and Symfony.... But in every context, it was pretty much "You should have experience with atleast one framework" and more so "If you have experience with X, Y, Z, then thats a plus"..... We'll see what the future holds. But as recommended, I will definitely be working on getting extremely proficient at PHP way before I go into any Frameworks. Thanx
     
    leadinmarketing, Sep 4, 2014 IP
  14. leadinmarketing

    leadinmarketing Greenhorn

    Messages:
    56
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    6
    #14
    Yes. CodeIgniter is popular.... Codeigniters last release was 6-5-2014.. CakePHPs last release was 2-9-2014.. And all the other main frameworks are still in development(If im not mistaken).
     
    leadinmarketing, Sep 4, 2014 IP
  15. Vibrantu

    Vibrantu Greenhorn

    Messages:
    11
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    13
    #15
    According to me you should learn core php first then go for the framework, if you want to develop something new. If you want to just develop website then you can use smarty or symphony framework
     
    Vibrantu, Sep 21, 2014 IP
  16. leadinmarketing

    leadinmarketing Greenhorn

    Messages:
    56
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    6
    #16
    Yea. I'll definitely get skilled at core php before driving into any frameworks. Symfony does seem very popular. May look into that disc the road
     
    leadinmarketing, Sep 21, 2014 IP
  17. ethansamuel17

    ethansamuel17 Greenhorn

    Messages:
    32
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    16
    #17
    My vote is for "Laravel" as it is very user-friendly and easy to use among all.
     
    ethansamuel17, Sep 25, 2014 IP
  18. behnamy

    behnamy Greenhorn

    Messages:
    38
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    20
    #18
    My vote is Yii, it has a moderate balance in all aspects. fast enough, secure enough, good community and etc...
     
    behnamy, Sep 25, 2014 IP
  19. Sano000

    Sano000 Active Member

    Messages:
    52
    Likes Received:
    4
    Best Answers:
    5
    Trophy Points:
    53
    #19
    I recommend focus on PHP 5.4 and OOP. Good idea to read about PSR-0 and Composer. Only then you can move to frameworks.
    Laravel is my choice, but generally all MVC frameworks are the same.
    If you stay with the CodeIgniter 2, look to DataMapper ORM
     
    Sano000, Sep 28, 2014 IP
  20. salmanshafiq

    salmanshafiq Well-Known Member

    Messages:
    260
    Likes Received:
    5
    Best Answers:
    0
    Trophy Points:
    128
    #20
    I am using CodeIgnitor for my projects and I think it's good....
     
    salmanshafiq, Sep 29, 2014 IP