Author Archives: thietkeweb

Học Laravel – Bài 18: Blade (Phần 2) – Building Layouts

Build layouts sử dụng Components: Tạo layout component: Áp dụng layout: Ví dụ tạo 1 view đơn giản hiển thị task list: Như vậy phần content trong view trên sẽ được cung cấp cho biến $slot ở trong layout component. Ở layout còn có biến $title nhận giá trị mặc định khi không truyền giá…

Học Laravel – Bài 8: Service Container

Giới thiệu Service container trong Laravel: Service container là tool mạnh mẽ để quản lý các class dependency và thực thi Dependency injection. Dependency injection nghĩa là 1 class phụ thuộc (dependency) được tiêm (inject) vào class khác thông qua constructor hoặc setter method. Để sử dụng Service Container thì có 2 khái niệm đi…

Tìm hiểu ViteJS (Phần 1)

Giới thiệu Vite: ViteJS là công cụ tương tự webpack, Rollup, Parcel … Mục đích của Vite là giải quyết những bài toán hiệu năng của các Javascript tool hiện tại. Tốc độ khởi động server nhanh: Vite cải thiện tốc độ khởi động của dev server bằng cách chia các modules thành 2 nhóm:…

Học Laravel – Bài 34: Authorization

Giới thiệu Authorization trong Laravel: Laravel cũng cung cấp cách đơn giản để authorize (ủy quyền – phân quyền) user đối với các tài nguyên cho trước. Laravel sử dụng 2 cách chính để phân quyền: gates và policies. Gates và policies giống như routes và controllers. Gates cung cấp cách đơn giản dựa vào…

Học Laravel – Bài 31: Eloquent: Relationships

Giới thiệu: Database table thường có mối liên hệ với nhau. Eloquent giúp quản lý và làm việc với những mối quan hệ này dễ dàng. Define relationship: Eloquent relationship được define như method trong model. Ví dụ: Quan hệ One To One: Ví dụ 1 User tương ứng với 1 Phone. Để define mối…

Học Laravel – Bài 30: Eloquent

Eloquent là 1 object-relational mapper (ORM) để tương tác với db. Mỗi db table sẽ có một model tương ứng. Tạo model class: Tạo Eloquent model trong thư mục app/Models, class này extend Illuminate\Database\Eloquent\Model. Sử dụng lệnh artisan để tạo model: Nếu muốn khởi tạo db migration khi tạo model, sử dụng option –migration hoặc…

Học Laravel – Bài 29: Database: Migrations

Migration giống như version control cho db. Facade Schema cung cấp hỗ trợ cho create, manipulate db. Migration sử dụng facade này để create, modify db. Khởi tạo migrations: Lệnh make:migration để khởi tạo db migration. Migration mới sẽ nằm trong thư mục database/migrations. Mỗi file sẽ bao gồm timestamp cho phép Laravel xác định…

Học Laravel – Bài 28: Pagination

Mặc định pagination của Laravel tương thích với Tailwind CSS framework, tuy nhiên Bootstrap pagination cũng được hỗ trợ. Cơ bản: Phân trang với Query builder: Sử dụng method paginate, page hiện tại được xác định bằng tham số page query string. Ví dụ: Simple pagination: Method paginate đếm tổng số bản ghi khớp với…

Học Laravel – Bài 27: Query Builder

Giới thiệu: Query builder cung cấp cách dễ dàng để tạo và thực thi query db. Laravel query builder sử dụng PDO parameter binding để bảo vệ ứng dụng khỏi SQL injection. Bạn không cần clean hoặc sanitize string. PDO không hỗ trợ bind tên cột, bao gồm cả “order by” column. Chạy query: Truy…

Học Laravel – Bài 25: Artisan Console

Mỗi lệnh artisan đều có “help” để hiển thị các tham số và tùy chọn: Viết lệnh: Bạn có thể tự build custom command trong thư mục app/Console/Commands. Tạo 1 command: sử dụng make:command, lệnh này tạo 1 class trong thư mục trên. Ví dụ: Cấu trúc command: Bạn cần định nghĩa giá trị phù…

Học Laravel – Bài 23: Validation (P2)

Custom message trong language file: Laravel validation error nằm trong file lang/en/validation.php. Nếu app chưa có, sử dụng lệnh php artisan lang:publish để tạo. Bạn có thể thay đổi nội dung file, hoặc copy ra 1 thư mục ngôn ngữ khác (ví dụ vi) để dịch. Các rule có sẵn trong Laravel: Xem tại docs:…

Học Laravel – Bài 22: Validation

Giới thiệu Validation trong Laravel: Laravel cung cấp nhiều cách thức để validate dữ liệu. Thông thường nhất là dùng method validate của Request. Validation Quickstart: Xem xét ví dụ sau: Route: Controller: Dừng ở lỗi validate đầu tiên: Bạn có thể dừng validate ngay sau khi gặp lỗi đầu tiên bằng thuộc tính bail:…

Học Laravel – Bài 21: Session

HTTP là không trạng thái, session cung cấp cách thức để lưu trữ thông tin về user xuyên qua các request. Laravel cung cấp nhiều cách thức lưu trữ session, hỗ trợ nhiều backend như Memcached, Redis, và database. Cấu hình session trong Laravel: File cấu hình config/session.php. Mặc định là file session driver. Nếu…

Học Laravel – Bài 20: URL Generation

Basic URL: Tiếp cận URL hiện tại: Nếu không cung cấp path cho url, 1 instance của Illuminate\Routing\UrlGenerator được trả về cho phép bạn tiếp cận url: URL cho route đã đặt tên: Để tạo URL: Nhiều tham số: Tham số thừa trong mảng sẽ chuyển thành query string: Eloquent model: bạn có thể add…