Chào các bạn,

Mình sắp trở thành một Laravel developer!

Sau 10 năm gắn bó với WordPress, mình quyết định chuyển sang tìm hiểu về Laravel để bắt đầu một hành trình mới. Mình đang học Laravel để chuẩn bị cho công việc tại một công ty ở Osaka, Nhật Bản, với vai trò Laravel Developer.

Trong bài viết này, mình muốn chia sẻ những bước đầu tiên khi làm quen với Laravel, đặc biệt dành cho người mới bắt đầu. Hy vọng các bạn sẽ tìm thấy những thông tin hữu ích để khởi đầu với framework mạnh mẽ này.

I. Từ WordPress đến Laravel: Tại sao chọn Laravel?

Sau một chục năm làm việc với WordPress, mình đã quen với việc xây dựng website nhanh chóng. Tuy nhiên, khi nhận được cơ hội làm việc với Laravel, mình nhận ra đây là thời điểm để thử thách bản thân với một framework PHP hiện đại.

Mình bắt đầu học Laravel ngay sau buổi phỏng vấn và đang cố gắng nắm vững các khái niệm cơ bản để sẵn sàng cho công việc bắt đầu trong vài tháng sắp đến. Dưới đây là những gì mình đã khám phá trong hành trình nhập môn này.

II. Laravel là gì?

Laravel là PHP framework theo mô hình MVC, nổi bật nhờ:

  • Cấu trúc rõ ràng, dễ mở rộng
  • Cộng đồng lớn, hỗ trợ tốt
  • Nhiều tính năng sẵn có: routing, authentication, validation, queue, job, testing…

Nếu bạn từng làm việc với PHP thuần hoặc một số CMS khác, Laravel là lựa chọn tuyệt vời để “lên level”.

III. Tài nguyên học Laravel cho người mới

Khi mới bắt đầu, mình khá choáng ngợp vì có rất nhiều tài liệu tham khảo trên mạng. Sau một thời gian tìm hiểu, mình đã chọn lọc được một số nguồn cực kỳ hữu ích cho người mới:

1. Laravel Documentation

Đây là “kim chỉ nam” cho mọi Laravel developer. Tài liệu chính thức được viết rõ ràng, chi tiết và luôn được cập nhật liên tục. Mình thường xuyên tra cứu trên đây mỗi khi tìm hiểu về khái niệm mới.

2. Laracasts

Mình biết đến Laracasts qua video hướng dẫn 30 Days to Learn Laravel – Complete 8 Hour Course miễn phí trên Youtube. Anh Jeffrey Way giải thích các khái niệm mơ hồ của Laravel theo cách đơn giản, dễ hiểu cho người mới. Nếu bạn rành tiếng Anh, mình cực kỳ khuyến khích nên xem qua video này để làm quen với Laravel.

Bên cạnh nội dung chính về Laravel, Laracasts còn cung cấp rất nhiều các khóa học khác về Javascripts, DevOps, SQL, CSS, Testing,… Tất cả video đều được đầu tư chỉnh chu, chuyên nghiệp.

Tuy nhiên, để có thể xem được toàn bộ khóa học, bạn cần đăng ký gói thành viên $25/tháng, hoặc $150/năm hoặc $399/trọn đời.

Dưới đây là một số khóa học miễn phí của Laracasts mà bạn có thể học được ngay mà không cần phải trả phí.

3. Laravel Daily

Bên cạnh Laracasts, Laravel Daily cũng là trang web hữu ích cho việc học Laravel. Các khóa học của Laravel Daily thường là ở dạng bài viết, không có nhiều video hướng dẫn như bên Laracasts. Ưu điểm của Laravel Daily là khóa học ngắn, đi sâu vào trọng tâm, cùng các chia sẻ kinh nghiệm thực tế và các mẹo nhỏ hữu ích khi triển khai dự án Laravel.

Laravel Daily thu phí $29/tháng hoặc $129/năm hoặc $399/trọn đời. Khi truy cập từ Việt Nam, các bạn được ưu đãi giảm 30%, mình đang ở Nhật được giảm 20%. Ai muốn giá rẻ thì có thể dùng VPN Ấn Độ truy cập, được giảm 40%.

Nếu chưa muốn trả phí, các bạn có thể tham khảo các video hướng dẫn của tác giả Povilas Korop trên h Youtube https://www.youtube.com/c/LaravelDaily, hoặc khóa học miễn phí dưới dây

IV. Cài đặt Laravel

Để thực hành Laravel, mình thiết lập môi trường phát triển trên cả macOS (Macbook Air M2) và Windows 11 (máy để bàn).

1. Trên macOS: Sử dụng Laravel Herd

Mình dùng MacBook để học ở nhà, và Laravel Herd là công cụ giúp thiết lập môi trường phát triển web siêu tiện lợi. Nó là sự thay thế của công cụ Valet+ mình đã từng chia sẻ hồi 2018.

Tham khảo chi tiết hướng dẫn Laravel Herd: https://herd.laravel.com/docs/macos/getting-started/installation

2. Trên Windows: Sử dụng WSL2 và Laravel Sail

Herd cũng có phiên bản cho Windows, nhưng mình không sử dụng mà chọn cách thiết lập Laravel với WSL2 và Laravel Sail (dùng Docker). Lý do vì ở công ty đang dùng combo này nên phải làm quen trước để chuẩn bị cho công việc.

Hướng dẫn cài đặt: https://blog.devgenius.io/kickstart-your-laravel-web-app-using-laravel-sail-30276265e588

V. Laravel Learning Path

Dưới đây là “con đường học vấn” Laravel được chia sẻ bởi Laravel Daily mà mình sử dụng khi bắt đầu làm quen với Laravel.

1. Mới bắt đầu

Link icons: 📖 Official Docs 🎬 Video 📄 Article 🔠 Course ❓ Test

TopicLearning Links
Routing and Controllers: BasicsLet’s Test Your Laravel Routing Skills: Complete 12 Tasks
Callback Functions and Route::view()📖 Basic Routing
📖 View Routes
Routing to a Single Controller Method📖 Basic Controllers with Routes
Route Parameters📖 Route Parameters
Route Naming📖 Names Routes
🎬 Laravel: Why You Need Route Names?
Route Groups📖 Route Groups
🎬 Laravel Route Grouping: Simple to Very Complex
🎬 More videos
Blade BasicsLet’s Test Your Laravel Blade Skills: Complete 8 Tasks
🎬 9 Quick Tips about Laravel Blade
Displaying Variables in Blade📖 Blade: Displaying Data
Blade If-Else and Loop Structures📖 Blade: If-Statements
📖 Blade Loops
Layout: @include, @extends, @section, @yield📖 Blade: Layout Using Template Inheritance
Blade Components📖 Blade Components
🎬 Laravel Blade Components: Two Examples – Laravel Breeze/UI
Auth BasicsTest Your Laravel Auth Skills: Complete 7 Tasks
🎬 8 Tips & Tricks about Laravel Auth
Starter Kits: Breeze (Tailwind) or Laravel UI (Bootstrap)📖 Laravel Breeze Official Documentation
📖 Laravel UI: Official Github Page
🎬 Laravel 8 Auth: 5 “Latest” Things You Need to Know
More videos
Default Auth Model and Access its Fields from Anywhere📖 Retrieving the Authenticated User
Check Auth in Controller / Blade📖 Determining If The Current User Is Authenticated
📖 Blade: Authentication Directives
Auth Middleware📖 Protecting Routes
Database Basics
Database MigrationsTest Your Laravel Migrations Skills: Complete 10 Tasks
📖 Database Migrations
🎬 Laravel Migrations: Table Created but Foreign Key Failed?
More videos
Basic Eloquent Model and MVC: Controller -> Model -> ViewTest Your Eloquent Basic Skills: 11 Tasks to Complete
📖 Eloquent: Getting Started
Eloquent Relationships: belongsTo / hasMany / belongsToManyTest Your Eloquent Relationships Skills: 9 Tasks to Complete
📖 Eloquent Relationships: One-to-One
📖 Eloquent Relationships: One-to-Many
📖 Eloquent Relationships: BelongsTo
📖 Eloquent Relationships: Many-to-Many
🎬 How to Safely Change DB Relations in Live Laravel Project?
Eager Loading and N+1 Query Problem📖 Relationships: Eager Loading
🎬 Laravel N+1 Query Detector: Don’t Forget Eager Loading
Full Simple CRUD
Route Resource and Resourceful Controllers📖 Laravel Resource Controllers
📄 Simple Laravel CRUD with Resource Controllers [digitalocean.com]
🎬 Laravel Nested Resource Controllers: Two-Level Deep
🎬 More videos
Forms, Validation and Form RequestsTest Your Laravel Validation Skills: Complete 9 Tasks
📖 Laravel Validation
🎬 New in Laravel 6.13: Format Validation Error Field Name 🎬 More videos
File Uploads and Storage Folder BasicsTest Your Laravel File Upload Skills: Complete 7 Tasks
📖 Filesystem: File Uploads
🎬 Laravel: How to Upload File During User Registration
More videos
Table Pagination📖 Database Pagination

2. Các level cao hơn

Tham khảo chi tiết ở https://laraveldaily.com/roadmap-learning-path hoặc ở đây https://github.com/LaravelDaily/Laravel-Roadmap-Learning-Path

VI. Lời kết

Hành trình học Laravel của mình đang ở những bước đầu tiên, nhưng mình đã thấy được tiềm năng của framework này trong việc xây dựng ứng dụng web hiện đại.

Nếu bạn cũng đang bắt đầu với Laravel, hãy chia sẻ kinh nghiệm của bạn nhé! Có tài liệu hay, mẹo gì thú vị, cứ comment bên dưới để mình học hỏi thêm. Hẹn gặp lại ở những bài tiếp theo, khi mình có thêm nhiều điều để chia sẻ về Laravel!

Happy Coding!

Nếu bạn cần hỗ trợ kỹ thuật miễn phí, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời trong thời gian sớm nhất.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *


Bạn cần hỗ trợ kỹ thuật chuyên sâu?

Khám phá các gói dịch vụ giúp bạn tối ưu công việc và vận hành hệ thống hiệu quả hơn. Từ chăm sóc website đến hỗ trợ kỹ thuật, mọi thứ đều linh hoạt và phù hợp với nhu cầu của bạn.