Author Archives: thietkeweb

Học Laravel – Bài 18: Blade

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…

Học Laravel – Bài 17: Views

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…

Học Laravel – Bài 16: HTTP Response

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ự…

Học Laravel – Bài 15: HTTP Request

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…

Học Laravel – Bài 13: CSRF Protection

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…

Học Laravel – Bài 12: Middleware

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…

Học Laravel – Bài 11: Routing

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….

Học Laravel – Bài 10: Facades

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à…

Học Laravel – Bài 9: Service Providers

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,…

Design pattern trong PHP – Singleton Pattern

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ử…

Design Pattern trong PHP – Abstract Factory Pattern

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à…

Học Laravel – Bài 7: Frontend

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ọc Laravel – Bài 6: Starter Kits

Để 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,…

Composer trong PHP

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ô…

Học Laravel – Bài 5: Frontend

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,…

Học Laravel – Bài 4: Cấu trúc thư mục

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…

Học Laravel – Bài 3: Cấu hình

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…