Before embarking on studying any track you must be familiar with a Science such as (Data Structure, Algorithms, and Problem-Solving) because they will help you more in your technical life and there is no interview free from questions about them. In addition, you have to have a good knowledge of (Security, and Networking). It is known also that the Back-end
is considered a second phase after Fron-end
(HTML, CSS, JavaScript) which is considered the first phase, so it will be fine if you were familiar with Front-end
. FINALLY, you must be good at Design Patterns
because you'll meet them more when you study Back-end
, and when you reach the Laravel framework you'll find out that the most advanced topics in Laravel are based on common design patterns such as Facade
design pattern.
Xampp
andLaragon
are local development tools and you can choose BETWEEN them to use according to your comfort, but personally, I prefer to useXampp
, also you can choose BETWEENPhpStorm
andVS Code
according to your comfort, but personally, I prefer to useVS Code
for simplicity and speed, and in case you choose to useVS Code
I recommend using these helpful Extensions, also I recommend using these useful Chrome Extensions.Composer
is a dependency manager for PHP, you'll need it to install, update, and remove the packages in your PHP or Laravel projects. It's fine to explore Laravel withLaravel Sail
andDocker
because it allows you to work easily on any Laravel version without being obsessed with compatibility problems.
- PHP Debug
- PHP Inteliphense
- Laravel Extension Pack
- Auto Rename Tag
- Error Lens
- PHP Class Generator
- PHP Snippets
- vscode-icons
- MySQL
- GitHub Copilot
- M.R Darkest Theme
GitHub Copilot
is a very awesome tool, but please use it in production applications only, not while learning, but it's become paid now, so I recommend using Blackbox, but if we will compare BETWEEN them,GitHub Copilot
will win.
At first, we will use PHP programming language in our Back-end
journey as a powerful language π―
You can watch PHP For Beginners or Learn PHP The Right Way as an optional choice for Elzero course, then you can watch PHP For Absolute Beginners for revision.
Second, to be a master at PHP, you'll need to be a hero in OOP π±βπ
You can watch Object Oriented PHP Tutorial as a optional choice for Elzero course.
Third, you must know security topics in PHP such as Sanitization
and XSS
π±βπ»
After you become a master in PHP, you'll need to know more about databases π
Sometimes you need to provide payment gateways to your site such as (Hyper Pay, PayPal, Stripe, ...etc), so you can watch the next tutorial π³
PHP, MySQL & Stripe API Payment App
You can see how I implement the
Hyper Pay
payment gateway, as explained in Delivery Management.
Finally, after youβve finished PHP
& MySQL
, you'll need to know how to create APIs to be usable via Android TEAM
π
After finishing PHP tutorials, you can take a look over its Awesome Packages, and say hello to my recap that you'll find in Awesome PHP.
Here you'll learn how to deal with GitHub
and how to publish your awesome projects π±
You can watch Git and GitHub for Beginners - Crash Course as an optional choice for Elzero course.
Here you'll learn many things about Laravel, but in an old version 5οΈβ£
Laravel 5.8 - From The Ground Up
Here you'll learn more and more about Laravel, Livewire
, and Tailwind CSS
7οΈβ£
You may ask why should I learn more than one version of Laravel, what if I learn the latest version ONLY? My answer is that learning more than one version gives you more experience. In addition, every version contains its new features ONLY, and this makes you ignore the old version's features.
Here you'll learn Livewire
framework, that makes building dynamic interfaces simple, without leaving the comfort of Laravel π€―
This step is optional, but I recommend learning
Livewire
as it'll relieve you from AJAX problems, also you may like to use Alpine.js because it's a very lightweight Javascript framework. If you'd like to learnVue.js
you can watch Vue.js Tutorials & Examples.
Here you'll learn very advanced topics in Laravel ποΈββοΈ
Here you'll learn real-time actions in Laravel β±
Real-time web apps with Pusher & Laravel
You may love to take a glance over Laravel Websocket. After this step, I highly recommend learning Laravel via its awesome documentation.
Suppose that you want to make a project for a client, surely you'll not send the project to him and maybe you do not have a private domain and hosting, so I recommend using Ngrok. This awesome tool enables you to publish your project in virtual hosting.
Say hello to Laravel Digging v8 that recaps
Laravel Up & Running
book.