I'd suggest go for Laravel now. It will help you develop and maintain good habits very easily as you'll learn new stuff. Before that read through the documentation + API so that you know what Laravel offers you.
PHP Level before using Laravel
I have been using basic PHP for the last few years, messing around with Wordpress themes and managing a few Online Shops. I recently started learning more advanced PHP and leaning to use OOP in a few projects I'm currently working on. My questions is do I before learning or using Laravel first become more proficient in PHP or do I try and implement the Laravel Framework into my current workflow and learn as I go along?
Would really appreciate some feedback as I'm sure a lot of people has been in similar positions as I'm now.
That really depends upon your skill level. Do you understand basic OOP? If so, then you can start learning Laravel.
What I eventually want to do is have a big section of the site that will get newcomers up to speed on PHP. I'd have a beginners course, a fundamentals of OOP, etc.
Update: Start here: https://laracasts.com/series/object-oriented-bootcamp-in-php
Thanks Jeffrey, I actually did your PHP Fundamentals course on TutsPlus but really have been struggling a bit to completely wrap my head around OOP. I originally followed the progress of some PHP Frameworks around hoping it will shortcut the learning process, well that was obviously a mistake on my side :) I really made up my mind when I found the Laracast Website searching for PHPStorm tutorials and think I then decided if I ever want to use a framework it is probably be Laravel. The sites content is just great. I know I needed to learn more advanced PHP concepts working through your PHPStorm tutorial and that is why I asked the question.
Thanks Jeffrey for helping us noobs with your new OOP course!
A good refresher as well for some people as well :) there's a chance I'll learn something from a few videos of those! Maybe a tip or trick.
My personal learning style is that I learn best by diving in the deep end (or being thrown in!) and forcing myself to swim. That's how I learned Linux and Vim. Never touched Linux in my life until my first agency job, and the first day they said "Here's Ubuntu, here's Vim, GLHF".
I've found that if I don't dive in, I beat around the bush too long and never get exposed enough to an environment that really pushes me out of my comfort zone and makes me learn something new.
So, if my own personal experience is anything to go by, I think you should absolutely just dive into Laravel.
Struggle with it. Curse at it. Flounder about. Plod along like you're a blind man in a dark maze. Get frustrated and walk away from it, wait 3-4 days for your brain to form new neural pathways with all of the mental exercise you taxed it with trying to learn something totally new and alien. Come back to it and experience the rush of awesome feelings as you overcome the obstacle(s) you struggled with a few days before.
My one piece of advice: don't worry about doing it "the right way", if that's something you find hanging you up. There's something in the developer world known as "analysis paralysis" whereby you don't get anything done because you're too busy worrying about doing it the right way.
OOP is an art. Developers are like artists; each has their own style, each has to find their groove, and each has to get comfortable in their medium. This is fine! So if you find yourself hesitating to get into it because you're not sure about the "right way" to do something, don't worry about it! Just do it with the caveat that you'll constantly try to improve and try new things.
I would say start learning Laravel. Understand the basic principles of MVC etc first. You can produce decent sites on that alone. Once you are happy with that, look at Jeffrey's Laravel Testing Decoded ebook, as that introduces the more complicated stuff within a productive environment. By this I mean, you can see why you are doing something which might otherwise seem pointless to you.
A lot of Laravel and modern PHP is not about learning new code, its about learning best practices. I come from a functional background and initially a lot of Laravel and oop seemed like overkill. One book I recommend to make it clearer is Head First Design Patterns, by O'reilly. Its actually not a PHP book, but it explains design patterns which laravel uses in an easy to understand format.
But ultimately, you just need to stick at it. Most design pattern books will say that design patterns are quite hard to get to grips with, and that you just have to persevere. Its worth it though.
Thanks everyone, looks like I'm going to have a few late nights and long weekends ahead, but still very exited!
@JeffreyWay just wanted to say thanks for all the OOP tutorials. They have been great and really assisted me in Understanding the subject.
One last question, I want to start learning Laravel should I go strait to the "Laravel 5 From Scratch" course or should I do some of the Laravel 4 Training first?
@pmulara I don't think you need to start with Laravel 4 training first but Laravel 5 is not stable yet so you could meet some problem with Laravel 5.
Thanks Max, I don't have a requirement for a PHP/Laravel project at the moment so will start learning using Laravel 5. Hopefully with my limited Laravel experience all the basic functionality will work during the sample projects. :)
If you want to understand where things came from, Laravel 4 is a good starting point. Many sites will still be using it and so will I until I have time to convert them to Laravel 5.
Thanks, is there a middle ground, using basics of v4 but as soon as I'm comfortable move to v5. Are there any release dates for v5?
On the last podcast I heard the other day taylor was talking about a late december release, it was pointed out by others on the podcast that that hits the holidays and probably is a little unrealistic. Making january look a little better. TBH everything about laravel 5 is pretty up in the air, thats why the getting started with laravel 5 has not really progressed since october, and you will find things that don't work anymore because they were removed or done differently. You can not go wrong with laravel 4.2 if you want to start learning right now. :-)
Start here: https://laracasts.com/collections/the-best-way-to-learn-laravel
Also don't skip episode 6 on the laravel community in that list. It's gold! You might even watch it first
Great, thanks for all the feedback. I did start watching the Laravel 4 Training last night.
Please or to participate in this conversation.