Form trong Blade: CSRF Field: Method field: Validation Errors: Bạn có thể dùng thêm chỉ thị @else: Bạn có thể pass tên của error bag làm tham số thứ 2 cho chỉ thị @error để truy xuất thông báo lỗi ở page có nhiều form: Stacks trong Blade: Blade cho phép push vào 1 stack…
Author Archives: thietkeweb
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á…
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…
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:…
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…
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…
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…
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…
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…
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…
Giới thiệu: Laravel hỗ trợ tương tác db sử dụng raw SQL, fluent query builder và Eloquent ORM. Laravel hỗ trợ các db sau: Cấu hình: Cấu hình db ở file config/database.php. Mặc định cấu hình môi trường mẫu sử dụng Sail, 1 docker config cho Laravel. Cấu hình sử dụng URL: Một số service…
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ù…
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:…
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:…
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…
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…
Dùng filter() để lọc tìm kiếm trong SQL: Để lấy 1 số trường nhất định, dùng values_list(): Field Lookups: Dùng __startswith: Order By: Descending order: thêm dấu trừ đằng trước:
Biến trong Django: Template tag: Reversed: For x in members reversed để truy vấn từ dưới lên. Empty: Các biến trong loop: Comment: sẽ không hiển thị khi render. Comment với mô tả: {% comment “This is description” %}. Comment trong 1 dòng: {# comment in a line #}. Include tag: Bạn có thể gửi…
Iterable là gì? Iterable là 1 đối tượng có thể lặp qua (bằng for). Iterable bao gồm List, Tuple, Set, Dictionary. Đây là những đối tượng iterable mà từ đó có thể tạo ra 1 iterator. Tất cả những đối tượng này có method iter() để tạo ra 1 iterator. String cũng là iterable object:…
Các kiểu dữ liệu trong Python: Biểu thức Kiểu dữ liệu Diễn giải x = “Hello World”, x = str(“Hello world”) str Chuỗi x = 20, x = int(20) int Số nguyên x = 2.5, x = float(2.5) float Số thực x = 1j, x = complex(1j) complex Số phức x = [“apple”, “banana”, “cherry”]x…

