Bạn đang học Laravel? Sau đây là những điều cần biết về Laravel Cơ bản nhất mà người mới học cần đọc qua trước khi đi vào Code.
Giới thiệu Laravel, Laravel là gì?
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Được tạo ra bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011.
Xem thêm: Laravel là gì? Tại sao Laravel là PHP Framework tốt nhất năm 2021?
Cái tên Laravel xuất phát từ Cair Paravel là một tòa lâu đài của Narnia, một thế giới tưởng tượng trong cuốn tiểu thuyết nổi tiếng “Biên niên sử Narnia” (The Chronicles of Narnia) đã được dựng thành phim. Laravel là cách đọc lái của Paravel. Và Taylor Otwell nghĩ nó sành điệu và sang trọng.
Laravel có cú pháp đơn giản dễ học, dễ đọc và rất thanh lịch, cũng như giúp người dùng không phải bận tâm tới các điều nhỏ nhặt.
Hiện nay Laravel đã là PHP framework số một và giữ vững được vị trí đó từ 2014 cho đến nay.
Một trong những lý do khiến Laravel được biết đến và sử dụng rộng rãi là nhờ vào nguồn tài liệu, tại trang chủ của Laravel thì tài liệu hướng dẫn cũng rất chi tiết cho từng phiên bản và dễ tìm kiếm, được hệ thống cho người lập trình viên, cũng như người mới học dễ dàng tiếp cận và tìm hiểu.
Với sự hỗ trợ mạnh mẽ của cộng đồng thì khi có bất kỳ vấn đề nào cần giải quyết bạn chỉ cần lên Google hoặc vào trong diễn đàn thần thánh Stackoverflow, bạn sẽ được hỗ trợ rất nhiệt tình từ cộng đồng.
Laravel thay đổi tích cực trong các phiên bản và có những gói thư viện tốt nhất được tích hợp vào. Hệ sinh thái xung quanh Laravel cũng toàn những sản phẩm tốt nhất trong lĩnh vực của nó.
Đây là một framework tuyệt vời đối với lập trình viên có kinh nghiệm và cả những bạn mới bắt đầu tập tành, bạn không cần phải biết nhiều về PHP nhưng vẫn có thể học và làm việc trên Laravel mà không gặp quá nhiều khó khăn.
Những điều cần biết về Laravel để bắt đầu
Hãy cùng chúng tôi tìm hiểu xem Laravel hỗ trợ cho chúng ta những gì nhé!
Laravel Artisan
Artisan là giao diện command-line có sẵn trong laravel. Nó cung cấp một lượng lớn câu lệnh commands hỗ trợ chúng ta khi đang xây dựng ứng dụng.
Như đã nói đến ở trong câu triết lý của Laravel có câu “We’ve already laid the foundation — freeing you to create without sweating the small things.” tạm dịch “chúng tôi xây dựng nền tảng để giúp kiến tạo mà không cần bận tâm đến những thứ nhỏ nhặt”.
Bạn có thể tạo ra file để thực hiện nhiệm vụ migration, model, seeder, controller với việc gõ lệnh command line trong dự án Laravel, không những tạo ra các file đó mà còn giúp bạn setup code cơ bản giúp giảm thiểu thời gian và tập trung vào việc viết những chức năng cho chương trình.
VD: Tạo controller bằng cmd php artisan make:controller UserController
Artisan giúp bạn giảm thiểu thời gian viết code cũng như tự động hoá một số công việc. Bạn sử dụng câu lệnh php artisan list để xem danh sách các câu lệnh hỗ trợ.
Mô hình MVC
Laravel được xây dựng và phát triển theo mô hình MVC (Model-View-Controller) nhờ đó mà cấu trúc và cách tổ chức code trong project được sắp xếp một cách hợp lý dễ dàng cho việc bảo trì cũng như phát triển về lâu dài.
Sau khi Client truy cập vào link thì router sẽ phải điều hướng qua Middleware để kiểm tra Request đó có đủ điều kiện truy cập vào Controller hay không.
Nếu đủ thì Controller sẽ xử lý request đó và lấy dữ liệu từ Model, Model sẽ lấy dữ liệu từ Database và xử lý nó trước khi trả lại cho Controller, Controller sau khi nhận được dữ liệu thì đưa cho View đổ dữ liệu xuống template, sau đó render ra HTML hoặc JSON rồi trả Response cho Client.
Đây là mô hình hoạt động MVC, được chia ra rõ ràng, mỗi bộ phận xử lý một nhiệm vụ nên coder chỉ việc xây dựng chức năng cho mỗi giai đoạn đó nên sản phẩm làm ra rất dễ bảo trì và nâng cấp.
Blade template - 1 loại Template Engine của Laravel
Laravel hỗ trợ chia nhỏ từng phần của template ra, ví dụ: 1 template sẽ có bố cục các phần như header, body, footer, aside, menu navbar bạn có thể chia mỗi phần của template ra từng file riêng (file template đó có đuôi .blade.php) cho dễ quản lý, bảo trì rồi gắn vào trong layout master.
Laravel cũng cung cấp cú pháp đơn giản cho việc đổ dữ liệu xuống template mà không bị rối mắt như sử dụng cặp thẻ <?php ?> thông thường:
Sử dụng Laravel
Eloquent ORM
Eloquent ORM đi kèm với Laravel cung cấp một API ActiveRecord đơn giản và tiện lợi cho việc giao tiếp với database. Mỗi database table sẽ có một “Model” tương ứng để tương tác với table đó. Model cho phép tương tác với dữ liệu trong table, liên kết các bảng dữ liệu (relationship database). với cú pháp đơn giản dễ hiểu và được hệ thống, nên dễ bảo trì code và cũng dễ học đối với các bạn mới.
Middleware.
Middleware nằm giữa các request và response. Nó nằm giữa router và controller. middleware có nhiệm vụ lọc request có đủ điều kiện cho phép tiếp tục thực hiện các hàm trong controller.
Laravel cung cấp một cú pháp tùy biến và dễ sử dụng giúp lập trình viên dễ dàng sử dụng cũng như chỉnh sửa sao cho thích hợp với dự án.
Đăng ký một router và nhờ middleware xem xét điều kiện, nếu thoả kiện sẽ đi đến hàm trong controller.
Tạo ra một file middleware php bằng lệnh cmd:
Để xét điều kiện của request trước khi thực hiện hàm trong controller:
Để middleware hoạt động chúng ta còn một bước đăng ký Middleware trong file app/Http/Kernel.php và trong thuộc tính $routeMiddleware. Trong thuộc tính này đã chứa một số class middleware mặc định
Kết luận
Laravel là framework PHP dễ học cho người mới nhưng cũng rất mạnh mẽ để dùng cho các dự án lớn.
Mình cũng là người bắt đầu học Laravel mà chưa biết gì về PHP (đúng hơn là chưa biết gì về lập trình backend), nói vậy đủ biết Laravel dễ sử dụng và được hệ thống dễ hiểu kể cả các bạn mới bắt đầu cũng có thể dễ dàng tiếp cận làm dự án. Và như một lẽ dĩ nhiên của đời thường, “cái gì không biết thì lên Google” nơi mọi thắc mắc hay gặp Bug cũng sẽ nhanh chóng tìm ra cách giải quyết. Hy vọng bài viết này có ích cho các bạn mới học về Laravel và cảm ơn các bạn đã đọc tới câu chữ cuối cùng.
Các bài Khác về Laravel nên xem qua
Học hết bao nhiêu đây bài một lần mà vẫn chưa làm được Laravel thì chắc bạn nên đọc lại thêm 1 lần nữa :D
- 10 tính năng ẩn trong Laravel Eloquent chắc chắn bạn chưa biết
- Laravel "Chunk" - Hãy cẩn thận!
- Tại sao Laravel là framework tốt nhất 2020?
- Laravel API Errors and Exceptions: How to Return Responses
- Laravel:Calling Eloquent from Blade: 6 Tips for Performance
- Laravel: Tìm hiểu về Service Providers
- Laravel: Tìm hiểu về Service Container
- Laravel: Tìm hiểu về queues. (Phần 1)
- Laravel: Tìm hiểu về queues. (Phần 2)
- Laravel: Tìm hiểu về HTTP Requests (Phần 1)
- Laravel: Tìm hiểu về HTTP Requests (Phần 2)
- Laravel: Tìm hiểu về Middleware
- Laravel: Mail (Phần 1)
- Laravel: Events
- Eloquent: relationships trong laravel - Phần 1
- Eloquent: relationship trong Laravel - Phần 2
- Eloquent: relationships trong Laravel - Phần 3
- Eloquent: Serialization trong laravel là gì
- Eloquent: Mutators trong laravel là gì
- Tìm hiểu Singleton Pattern trong Laravel
- Tìm hiểu Template Pattern trong Laravel
- Tìm hiểu Apdapter Pattern trong Laravel
- Phân biệt giữa Authentication và Authorization trong Laravel
- Laravel: Làm thế nào để cấu trúc routes các dự án Thương mại điện tử?
- Laravel: Tìm hiểu về Query Builder (Bài 1)
- Laravel: Tìm hiểu về homestead (Phần 1)
- Laravel: Tìm hiểu về homestead trong Laravel (Bài 2)
- Laravel: Tìm hiểu về CSRF Protection
- Laravel: Tìm hiểu về Notifications (Phần 1)
- Laravel: Tìm hiểu về Notifications trong Laravel (Bài 2)
- Laravel: Tìm hiểu về Facades
- Laravel: Tìm hiểu về Contracts
- Laravel: 12 tips để tối ưu hóa performance (Phần 2)
- Làm sao để chạy raw queries an toàn trong Laravel
- Laravel: Task Scheduling trong laravel
- Tìm hiểu Elasticsearch với laravel
- Laravel: Console Command trong laravel phần 1
- Laravel: Console Command trong laravel Phần 2
- Laravel: tìm hiểu về cache trong Laravel
- Laravel: 20 Thủ thuật và mẹo sử dụng Laravel Eloquent (Bài 1)
- Laravel: 20 mẹo và thủ thuật về Laravel Eloquent (Bài 2)
Tôi sẽ dành thêm thời gian để cập nhật thêm các bài khác về kiến thức laravel cho các bạn trong thời gian tiếp theo~