In life, to achieve the destination we set, each of us will certainly need a plan and need to divide that plan into specific steps and complete it. Programming is the same, questions need to be asked such as. Why did I choose this language, this framework, what are its development opportunities? How will it help me in my work… Once we have chosen the language we want, we need to create a specific Roadmap and divide it into milestones. Dividing it into milestones helps us have a specific view, completing them easier and faster. That is why I wrote this article, hoping to help you in finding your own Roadmap.
1. Basic Frontend
- Html
- Css
- https://www.w3schools.com/js/default.asp
- Some Framework javascrript like VueJs, ReactJs.... (I recommend Reactjs
2. Git
3. Linux
3. Databases
- MySQL ( recommended for php developers)
- Postgresql
- MongoDB…
4. PHP
Basic PHP syntax
Variables and Constants in PHP
PHP Sessions and Cookies
PHP Traits
PHP Exceptions
PHP Interfaces
…
References:
https://www.w3schools.com/php/default.asp
5. OOP (Object-Oriented Programming)
Objects and Classes
Constructor and Destructor
Access Modifiers
Static Members
Encapsulation
Inheritance
Polymorphism
Abstraction
…
References:
https://www.w3schools.com/php/php_oop_what_is.asp
https://viblo.asia/p/lap-trinh-huong-doi-tuong-oop-trong-php-phan-1-gGJ59gyaZX2
6. PHP Framework
Laravel (recommended)
Symfony
CakePHP
…
Choose one PHP framework to master thoroughly.
7. Laravel
Migration
Seeder, Factory, Faker
Model:
Mass Assignment (fillable)
Relationships (1–1, 1-n, n-n)
Accessors & Mutators
Eager Loading ( N+1 problem)
Scopes (global, local)
Routing:
Route & Resource Controller
Middleware
REST & RESTful
Controller:
Validation
Form Request
Authentication
Eloquent ORM & Query Builder
CSRF Protection
Advanced Topics:
Laravel Transactions, Helpers, Localization (i18n), Repository, Caching
Authorization: Gates & Policies
Blade Templating Engine
Bower, Laravel Mix
Service Providers & Service Containers
…
References:
https://viblo.asia/s/laravel-the-beauty-Wj53Om3p56m
8. Composer
Composer commands
composer install vs composer update
composer.json and composer.lock
Composer Autoload
…
References:
https://viblo.asia/p/tim-hieu-ve-composer-jlA7GKWGKZQ2
9. API
REST vs RESTful API
Laravel Sanctum (token-based authentication)
JWT (JSON Web Tokens)
Swagger
…
References:
https://viblo.asia/p/jwt-tu-co-ban-den-chi-tiet-LzD5dXwe5jY
10. HTTP
References:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
https://viblo.asia/p/tim-hieu-ve-http-hypertext-transfer-protocol-bJzKmgewl9N
11. Testing
Unit Testing
Xdebug (runtime fix bugs)
View logging (dont know where to place break point, just checking logs :)))
TDD
https://www.youtube.com/watch?v=MdApmmK71WM&t=2006s
…
12. Security
CSRF Protection
XSS (Cross-site scripting)
SQL Injection
13. Performance
Caching
Indexing Techniques
Memcached
Redis
HTTP Caching
Elasticsearch
…
14. Dependency Injection
Reference:
https://codelearn.io/sharing/hieu-ro-ve-dependency-injection
…
15. SOLID Principles
Reference:
https://topdev.vn/blog/solid-la-gi/
…
16. OAuth2
Reference:
https://viblo.asia/p/introduction-to-oauth2-3OEqGjDpR9bL
17. Design Patterns
Builder Pattern
Factory Pattern
Repository Pattern
See more PHP Design Patterns here
18. DevOps
Docker
Deploying projects to servers (You can check out my series here)
CI/CD (Continuous Integration/Continuous Deployment)
AWS (EC2, SQS, SES, SNS, S3, etc.)
Kubernetes
Firebase
…
Reference:
Resource:
https://laraveldaily.com/roadmap-learning-path (laravel main)