Giới thiệu Blade Templates trong Laravel Blade template sử dụng .blade.php file extension và lưu trữ ở thư mục resource/views. Blade có thể return từ route hoặc controller sử dụng method view: Hiển thị dữ liệu trong Blade: Nếu không muốn escape data: JSON: Chỉ thị trong Blade: If else: Unless: Isset, empty: Authentication: Môi…
Author Archives: thietkeweb
Giới thiệu Views trong Laravel: Views lưu trữ trong thư mục resource/views. Views thường viết dưới dạng Blade, ví dụ file resource/views/greeting.blade.php: Trong route gọi view: Tạo & Render Views: Lệnh tạo view: Thư mục view lồng vào nhau: Dùng “.” để tham chiếu các view lồng vào nhau. Ví dụ: file view: resource/views/admin/profile.blade.php: Tạo…
Tạo response String & Array: Tất cả route và controller nên trả về 1 response để gửi lại cho user. Laravel cung cấp nhiều cách để trả về response. Response cơ bản nhất là trả về string. Framework sẽ tự động convert string thành HTTP response: Bạn cũng có thể return array. Framework sẽ tự…
Giới thiệu HTTP Request trong Laravel: Class Illuminate\Http\Request cung cấp cách thức để tương tác với HTTP request bao gồm lấy dữ liệu, cookie, file … được gửi với request. Tương tác với request: Tiếp cận request: Để đạt được 1 thể hiện của request thông qua dependency injection, bạn nên type-hint class Illuminate\Http\Request trong…
Giới thiệu Controller trong Laravel Controller là nơi để tổ chức code xử lý các logic sau khi request đã đi qua route. Controller có thể gom các xử lý logic liên quan đến nhau trong 1 class. Ví dụ class UserController xử lý các request liên quan đến user, bao gồm show, create, update,…
Cross-site request forgery: tấn công giả mạo request website. Ngăn chặn CSRF Request: Laravel tự động sinh ra 1 CSRF token cho mỗi session. Token được sử dụng để xác minh user có thực sự tạo ra request đó không. Khi token được lưu ở user session và thay đổi mỗi một phiên mới, các…
Giới thiệu Middleware trong Laravel: Middleware giúp kiểm tra và lọc http request. Ví dụ, Laravel có 1 middleware để xác thực user. Nếu user chưa đăng nhập, middleware sẽ redirect đến trang login. Nếu đã đăng nhập, middleware cho phép request đi tiếp sâu hơn vào ứng dụng. Middleware có thể thực hiện nhiều…
Basic routing: Basic route chấp nhận 1 URI và closure, cung cấp phương thức đơn giản để define route: Route file mặc định: Tất cả route được define trong các file route, trong thư mục routes. Những file này được load tự động bởi Route Service Provider. File routes/web.php define các route cho web interface….
Giới thiệu Facades trong Laravel: Facades cung cấp 1 “static” interface đến những class mà có sẵn trong service container. Laravel có nhiều facade cung cấp tiếp cận tới hầu hết tính năng. Facade hỗ trợ như một “static proxy” tới những class cơ bản trong service container, cung cấp cú pháp ngắn gọn mà…
Giới thiệu Service Providers: Service providers là trung tâm nơi khởi động ứng dụng. Ứng dụng của bạn cũng như các core service được khởi động thông qua service provider. Khởi động (bootstrap) ở đây nghĩa là đăng ký mọi thứ (register), bao gồm đăng ký binding service container (xem bài Service Container), event listener,…
Facade là mẫu thiết kế thuộc nhóm kiến trúc. Facade cung cấp 1 mẫu giao diện chung đơn giản thay cho 1 nhóm giao diện có trong 1 hệ thống con. Facade định nghĩa 1 giao diện ở cấp độ cao hơn để giúp người dùng có thể dễ dàng sử dụng hệ thống con…
Singleton Design Pattern Singleton là 1 trong 5 design pattern thuộc nhóm Creational Design Pattern – nhóm hỗ trợ khởi tạo class. Mục đích của Singleton là đảm bảo chỉ duy nhất 1 instance của class được khởi tạo và có thể truy cập từ mọi nơi đến instance đó. Kiến trúc Singleton được sử…
Factory Pattern Được chia làm 2 loại: Factory Method và Abstract Factory. 1. Factory method: Định nghĩa 1 interface cho việc tạo đối tượng, nhưng để các lớp con quyết định lớp nào sẽ được tạo. “Factory method” giao việc khởi tạo đối tượng cụ thể cho lớp con. Chúng ta có 1 class là…
Có 2 lựa chọn build frontend, sử dụng PHP hoặc Javascript framework như Vue hoặc React. Sử dụng PHP: PHP và Blade Với Laravel, để build dynamic frontend ta sử dụng Livewire và Alpine.js Livewire là framework để build frontend tương tự Vue và React. Khi sử dụng Livewire, bạn có thể tạo Livewire components…
Để hỗ trợ việc build ứng dụng dễ dàng nhanh chóng, Laravel hỗ trợ authenticate và starter kits. Những kits này tự động đóng khung trong ứng dụng của bạn vs route, controller, view. Laravel Breeze: Là 1 tính năng xác thực nhỏ đơn giản, bao gồm login, registration, password reset, email verification, password confirm,…
Node package manager – công cụ quản lý các thư viện lập trình Javascript cho Node.js tương tự như Composer trong PHP. NPM có sẵn khi tải Nodejs về. Cài đặt 1 gói bằng NPM: Khi cần sử dụng Vue.js dùng lệnh require(): Quản lý các gói cài đặt thông qua file package.json. Lệnh npm…
Composer là công cụ quản lý các thư viện cho 1 project PHP. Cho phép khai báo các thư viện mà dự án sử dụng, tải về, tạo ra các file cần thiết cho project, update khi có phiên bản mới. Để sử dụng composer cần 1 file composer.json. File này chứa thông tin mô…
Sử dụng PHP PHP và Blade Ví dụ cấu trúc blade: Fullstack Laravel với Laravel Livewire và Alpine.js. Livewire là framework để build Laravel frontend tương tự Vue, React. Phần này tổng quan kiến thức không có gì. Các bạn muốn tìm hiểu cụ thể hơn về Blade, hay Livewire, các starter kits như Breeze,…
Thư mục App: Chưa core code của ứng dụng. Hầu hết class ứng dụng nằm ở đây. Thư mục Bootstrap: File app.php khởi động framework. Thư mục này cũng chứa thư mục cache. Thư mục config: Thư mục database: Database migrations, model factories, seeds. Hoặc file SQLite. Thư mục public: Chứa file index.php. Các file…
Cấu hình trong Laravel: Tất cả cấu hình trong thư mục config. Bao gồm: database, mail server, timezone, encryption key … Xem qua các cấu hình, drivers và môi trường bằng lệnh: Tất cả cấu hình môi trường trong file .env. Những giá trị này được lấy lại từ nhiều cấu hình trong thư mục…
