How to Learn Laravel— A roadmap from beginner to advanced — 2020
Hi everybody,
Probably, you are here because you heard Laravel is cool and very handy framework to create great web apps. Today I will tell you how I learned Laravel, the rising framework of our day. And I think it can be roadmap for developers who want to learn it from zero.
(A small note for Laravel Experts: Of course, I would like to strengthen my article with future comments from you, but I believe this guide will be enough for beginners to Laravel.)
Requirements:
- Being familiar with PHP and HTML (you can easily learn using W3school)
- Basic knowledge of mySQL or MongoDB.
- Being aware of the Model-View-Controller structure (I put here a nice article here to understand this)
- Knowing how to use Composer. (A nice article for Composer)
A Small Detail:
I know you wonder about something before I start this part, and I will give you the answer here now, be ready.
Where does Laravel’s name come from?
There are many rumors about where the name comes from, and Laravel’s founder, Taylor Otwell, explains:
“Narnia, Cair Paravel is the name of the castle where the kings and queens of Narnia live. Laravel rhymes with Paravel.” I thought of the geography of Tolkien’s Middle Earth and CS Lewis. the name had a classy and sophisticated ring to it. “
Getting Started:
First of all, I recommend that you create your own suitable development environment for Laravel. I suggest you use the Homestead or Valet, announced by Laravel. I share a link to a great article that tells you how to install Laravel Homestead on Windows machine.
Of course, the best resource for learning Laravel as well as the knowledge of all Laravel users is the official documentation of Laravel. Laravel documentation is the wonderful manual that you can apply for your problems.
But I’m sure you’ll want to see some practice. In this case, you should visit Laracast, where you can watch Laravel’s educational videos. Laracast has a lot of paid and free videos. If you want your money to stay in your pocket, it will be enough for free videos. (I would like to let you know that there is a big discount on Laracast plans on Black Friday.)
Last but not least, an hour tutorial for learning Laravel fundamentals on youtube.
Advanced:
Laravel has a lot of pre-packaged open source code and learning to use them can save you a lot of effort. Sometimes you can see dozens of packages written in one subject, and in that case, I would advise you to take into account the number of stars the package receives, the obvious problems and maintenance situations (assuming you use GitHub) when making the package selection.
Laravel also comes with a number of priced side products such as Forge, Envoyer, Spark. Of course, Taylor must make money, too :) Take a look at them to make your deployment and maintenance process easier.
There are a developer team that I follow closely. They have quite good quality and nice packages. I think these are also worth a look.
Also, If you look at Laravel News on a daily basis, you will not miss the developments about Laravel. I’m sure you’ll find information on pretty handy packages.
Also, Laravel continously developing a new products/packages for its ecosystem like Vapor, Sanctum etc.
All official packages and ecosystem products;
- Cashier : it is a package to billing subscription
- Dusk : it is a package that used for browser testing and automation
- Horizon : it is a package that can be used to monitoring your queues
- Passport : it makes easy OAuth2 implementation
- Sanctum : provides a simple and effective authentication system for SPAs, mobile applications, and simple, token based APIs.
- Scout : A package for full-text search works with Algolia or other drivers.
- Socialite : Oauth Authentication
- Telescope : A very comprehensive debug assistant
- Vapor : Serverless platform
- Forge : Server management tool (Deployment is so easy with it.)
- Envoyer: Zero Downtime Deployment
- Nova: A pre-installed and manageable admin panel
- Echo: You can create realtime events with it and broadcast them for websockets.
- Lumen: featherweight framework
- Homestead: A development environment. Pre-packaged Vagrant Box. (it is handy for Windows users)
- Spark: Saas App Scaffolding
- Valet: A development environment for Mac Users
- Mix: Webpack Asset compilation
- Tinker: Interactive REPL
Some of these packages are installed with Laravel, some you need to install yourself. Also, while some packages and tools are free, you will have to pay for some.
You should definitely examine these packages. And you should use these packages for at least trial purposes. Because they really offer some great solutions. I will also be honest about something, Taylor Otwell does not sell these products cheap. And it does not provide a very good support after purchasing the these products..
Lastly, find a slack channel for your participation and follow Laravel on twitter.
You can encourage me to write new articles by sharing or liking my writing. I also continously updating this article for 2 years.
Thank you for reading.
Twitter:@devneeddev