Mẹo Hướng dẫn dùng assighnment trong PHP

Kinh Nghiệm Hướng dẫn Hướng dẫn dùng assighnment trong PHP 2022

Bùi Văn Quân đang tìm kiếm từ khóa Hướng dẫn dùng assighnment trong PHP được Cập Nhật vào lúc : 2022-12-16 01:26:05 . Với phương châm chia sẻ Thủ Thuật Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read tài liệu vẫn ko hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Mình lý giải và hướng dẫn lại nha.

Xin chào những bạn, trong những nội dung bài viết trước tôi đã chia sẻ với những bạn về Migration và Seeder trong Laravel - nó là những việc làm thiết yếu khi thao tác với DB, tương hỗ cho việc tạo bảng, quản lý phiên bản, chèn tài liệu một cách thuận tiện nhất. Như vậy sau những bước migration và seeding, thì tất cả chúng ta đã có một cơ sở tài liệu với đầy đủ những bảng và tài liệu trong bảng đó. Trở lại với nội dung bài viết mình yêu thích chia sẻ trong series Laravel và những điều thú vị thì ngày hôm nay mình sẽ chia sẻ cho những bạn cách truy vấn và xử lý tài liệu đang có trong cơ sở tài liệu. Trước hết tất cả chúng ta sẽ tìm hiểu qua quy mô MVC là gì nhé.

Nội dung chính Show
    Định nghĩa Model và những thiết lập cơ bảnTên bảngKhóa chính của bảngKết nối DBLấy tài liệu từ DBThêm rằng buộc cho câu truy vấnCollectionsLấy tài liệu một Model/AggregatesNotFound ExceptionInsert và Update ModelsMass UpdatesMass AssignmentDeleting ModelSoft DeletingQuery ScopeGlobal ScopeLocal Scope
1. Mô hình MVC

Chắc hẳn ai khởi đầu với sự nghiệp làm web cũng không thể không biết quy mô MVC. Mình sẽ nói sơ lược lại một chút ít nhé. MVC(Model- View- Controller) là quy mô phân chia application thành 3 thành phần chính và mỗi thành phần lại sở hữu trách nhiệm riêng của nó:

    Model: chứa những logic trách nhiệm và thao tác với DB.View: thực hiện việc làm hiển thị và tương tác với người tiêu dùng.Controller: làm trách nhiệm điều hướng Một trong những đối tượng tham gia khối mạng lưới hệ thống. Ví dụ như người tiêu dùng có một request lên thì route định tuyến vào controller, thì controller sẽ điều hướng tới cho một Model tương ứng xử lý sau đó kết quả trả về cho Controller , Controller sẽ chuyển đến tài liệu cho View. Hướng dẫn dùng assighnment trong PHP

Ví dụ

Lý thuyết trên khó hiểu ghia, mình sẽ lấy một ví dụ để những bạn dễ hiểu hơn nhé. Chắc hẳn những bạn hay phải đi uống trà sữa đúng không nào

Hướng dẫn dùng assighnment trong PHP))) Một ngày đẹp trời mình đi đến 157 Xã Đàn để uống Lee Tee, khi vào quán thì mình sẽ order đồ uống. Mình là người tiêu dùng, và trà sữa Ô Long Kem Cheese Size L full topping là yêu cầu của người tiêu dùng Hướng dẫn dùng assighnment trong PHP))). Nhân viên order vui vẻ tươi vui gật đầu(giả sử quán lúc đó có một nhân viên cấp dưới thao tác vừa order vừa pha chế luôn cho khách). Với bạn nhân viên cấp dưới order, trà sữa là cần tuân theo qui trình tiến trình:
    Lấy cốcGián tem tên đò uốngPha trà sữaCho toppingĐổ lớp kem cheese lên bề mặtĐóng hộpĐưa đồ cho khách

Não của nhân viên cấp dưới bán trà sữa đong vai trò là controller. Ngay khi mình đến order trà sữa thì nhân viên cấp dưới bán trà sữa đã hiểu và khởi đầu việc làm. Pha trà sữa bản chất cũng như in như pha nhiều chủng loại nước thông thường, có điều nguyên vật liệu và công cụ hoàn toàn rất khác nhau. Bạn nhân viên cấp dưới bán hàng hoàn toàn có thể sử dụng công cụ của shop. Những công cụ đó đóng vai trò là Model gồm có:

    Đôi tay bạn nhân viênNguyên liệu để pha trà sữaMáy pha tràĐá lạnhMáy đóng hộpĐường, topping, chân trâu,...

Cuối cùng cốc trà sữa sau khi đóng hộp mà mình cầm trên tay đóng vai trò là View được làm ra từ những công cụ trong phần Model, chế biến và giao đồ thông qua phần Controller(não của bạn nhân viên cấp dưới).

2. Eloquent Model

ORM(Object Relational Mapping) đây là tên gọi gọi chỉ việc ánh xạ những record tài liệu trong hệ quản trị cơ sở tài liệu sang dạng đối tượng mà mã nguồn đang định dạng trong class. Eloquent ORM: Larvel đã sử dụng kỹ thuật ORM giúp lập trình viên thao tác thuận tiện và đơn giản hơn với DB. Trong phần này tất cả chúng ta sẽ nói nhiều đến phần kiến thức và kỹ năng

protected $connection = 'connection-name'; 6 (Model) - là một phần trong quy mô MVC ở trên. Các Model này sẽ thao tác trực tiếp với DB, xử lý logic trách nhiệm và trả về tài liệu cho controller.

Định nghĩa Model và những thiết lập cơ bản

Chúng ta sẽ định nghĩa ra model bằng câu lệnh

protected $connection = 'connection-name'; 7 trong command Artisan.php artisan make:model Post

Sau khi nhấn lệnh thì trong app/Post.php sẽ sinh ra đoạn code sau:

Để tạo model và migration tất cả chúng ta sẽ thêm option

protected $connection = 'connection-name'; 8 hoặc protected $connection = 'connection-name'; 9php artisan make:model Post --migration php artisan make:model Post -m

Các bạn để ý quan tâm tên model để mapping cho đúng với bảng trong CSDL. Nếu table trong CSDL là

title. "
"; 0 thì tên model đặt đúng theo chuẩn là title. "
"; 1.

Tên bảng

Mặc định nếu như bạn đặt tên model là

title. "
"; 1 thì laravel sẽ mapping với bảng tên title. "
"; 0. Những nếu bạn muốn đặt tên bảng khác đi nhưng vẫn phải theo đúng quy chuẩn convention đặt tên trong Laravel nhé(snake case). Ví dụ mình không đặt tên title. "
"; 0 nữa mà mình đặt tên là title. "
"; 5 ví dụ điển hình thì biến title. "
"; 6 trong title. "
"; 7 sẽ mapping đúng model với tên bảng tất cả chúng ta khai báo.Khóa chính của bảng

Theo mặc định trong Laravel thì khóa chính của mỗi bảng sẽ là

title. "
"; 8. Nhưng đôi lúc tất cả chúng ta muốn thay đổi trường khóa chính này với tên khác ví như thể title. "
"; 9 thì tất cả chúng ta hoàn toàn có thể khai báo qua biến Các bạn để ý quan tâm nhé, kiểu tài liệu của khóa đó đó là

Timestamps

Mặc định khi những bạn tạo bảng thì sẽ có 2 trường

Nếu bạn không thích lưu tài liệu của timestamp như mặc định của nó bạn hoàn toàn có thể thay đổi định dạng của nó trong model như sau:

protected $dateFormat = 'd-m-Y';

Và nếu bạn muốn custom lại tên cột của

Kết nối DB

Tất cả những Eloquent models sẽ sử dụng DB mặc định khai báo trong file .env, nhưng nếu bạn muốn model này link tới một bảng trong CSDL nào đó thì tất cả chúng ta sẽ set như sau trong model:

protected $connection = 'connection-name';

Chú ý

Để chác chắn là model của tất cả chúng ta mapping đúng với table trong CSDL hay chưa thì tất cả chúng ta sẽ test bằng

Hướng dẫn dùng assighnment trong PHP Nếu trả về Lấy tài liệu từ DB

all

Khi tất cả chúng ta đã thiết lập những tham số như trên xong, thì tất cả chúng ta bắt tay vào lấy tài liệu từ DB về. Để lấy tất cả những bản ghi trong 1 table tất cả chúng ta dùng

title. "
";

Thêm rằng buộc cho câu truy vấn

Có những trường hợp mà tất cả chúng ta không thiết yếu lấy tất cả những record của table ra, nó làm hiệu năng chương trình của tất cả chúng ta kém. Nên thêm những rằng buộc cho câu truy vấn là rất quan trọng để giảm sút query không thiết yếu và tăng hiệu năng chương trình.

Collections

Vì những hàm của Eloquent như

Chunk

Nếu bạn muỗn xử lý hàng ngán kết quả từ Eloquent, sử dụng

Cursors

Hàm

Lấy tài liệu một Model/Aggregates

Ngoài việc lấy tất cả những records của table bằng hàm

NotFound Exception

Nhưng có những lúc mà bạn muốn bắn ra một exception nếu instance model không tìm thấy. Hàm

Nếu exception mà không được bắt thì một HTTP response 404 sẽ tự động được gửi lại cho user.

Aggregates

bạn cũng hoàn toàn có thể sử dụng những

Insert và Update Models

Insert

Để tạo một bản ghi mới trong table, thì tất cả chúng ta sẽ tạo một model instance, sau đó tất cả chúng ta set giá trị của thuộc tính, sau đó dùng phương thức

Trong ví dụ trên tất cả chúng ta không tạo 2 trường

Updates

Hàm

Mass Updates

Nhiều khi tất cả chúng ta cần update nhiều bản ghi một lúc thì tất cả chúng ta sẽ làm sau đây. Ví dụ như tất cả những những bài post chưa pulish thì sẽ được pulish hết.

Hàm

Mass Assignment

Sau kh i submit form tài liệu lên tất cả chúng ta hoàn toàn có thể ghi tài liệu này vào CSDL bằng đoạn code như sau(ta bỏ qua vấn đề validate tài liệu nhập vào):

php artisan make:model Post --migration php artisan make:model Post -m 1

Thật ngắn gọn và đơn giản đúng không những bạn, tính năng này gọi là Mass Assignment. Tuy nhiên có một lỗ hổng bảo mật thông tin xảy ra nếu một khách truy cập cố tính gửi tài liệu

Khi đó kẻ muốn phá khối mạng lưới hệ thống của tất cả chúng ta khổng thể gửi thêm input

Có hai phương thức tạo bản ghi mới sử dụng Mass Assignment khác là php artisan make:model Post --migration php artisan make:model Post -m 4

Một phương thức nữa cũng rất hay dùng đó là :

Deleting Model

Để xóa bản ghi tài liệu đơn gainr bằng phương pháp tất cả chúng ta gọi đến phương thức

Soft Deleting

Bây giờ bài toán đặt ra là lúc tất cả chúng ta lỡ tay đã xóa bản ghi khỏi table, giờ đây tất cả chúng ta muốn lấy lại nó(khoc). Nhưng không sao, Laravel có cơ chế tương hỗ người tiêu dùng khi lỡ tay xóa một bản ghi hoàn toàn có thể lấy lại được đó đó đó là soft delete (xóa mềm). Tức là tưởng xóa những thực chất không xóa

Hướng dẫn dùng assighnment trong PHP. Thực chất là tất cả chúng ta chỉ thêm một trường Trong file migration tạo bảng

title. "
"; 0 bạn nhớ thêm Để truy vấn những bản ghi đã xóa thì tất cả chúng ta sử dụng

trái lại nếu bạn muốn truy vấn kết quả từ những bản ghi mà đã xóa mêm thì bạn sử dụng phương thức

Đôi lúc bạn sẽ muốn tất cả những bạn ghi đã xóa mềm rồi quay lại như trước. sử dụng phương thức

Chú ý, để xóa vĩnh viễn bản ghi dùng phương thức

Query Scope

Vấn đề đặt ra là, nhiều khi một rằng buộc nào đó được sử dụng rất nhiều trong những câu truy vấn ở nhiều controller. Vì thế

Global Scope

Với phạm vi biến cục thì định nghĩa scope này sẽ áp dụng cho một Model và những truy vấn liên quan đến nó sẽ được áp dụng thêm rằng buộc. Sau đây mình sẽ lấy một ví dụ cho những bạn xem cách khai báo

Để đăng ký global scope thì tất cả chúng ta sẽ override lại phương thức

Và khi ta sử dụng truy vấn

200000 mới được lấy ra. Ngoài ra những bạn còn tồn tại thể định nghĩa global scope bằng Closure.Nếu bạn muốn truy cập mà không biến thành ảnh hưởng nào từ global scope thì tất cả chúng ta hoàn toàn có thể sử dụng phương thức

Local Scope

Khi những bạn dùng chỉ việc gọi đến

Events

Eloquent bắn ra một số trong những những events: creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored. Các bạn hoàn toàn có thể tìm thấy trong

Sử dụng những events của Eloquent này rất tiện dụng, ví dụ như khi bạn tạo ra một chương trình quảng cáo, thi sau khi bạn

Observers

Nếu tất cả chúng ta cần listen nhiều sự kiện trong model thì bạn cần tạo một

Video Hướng dẫn dùng assighnment trong PHP ?

Bạn vừa tham khảo tài liệu Với Một số hướng dẫn một cách rõ ràng hơn về Video Hướng dẫn dùng assighnment trong PHP tiên tiến nhất

Share Link Cập nhật Hướng dẫn dùng assighnment trong PHP miễn phí

Bạn đang tìm một số trong những Share Link Cập nhật Hướng dẫn dùng assighnment trong PHP miễn phí.

Giải đáp thắc mắc về Hướng dẫn dùng assighnment trong PHP

Nếu sau khi đọc nội dung bài viết Hướng dẫn dùng assighnment trong PHP vẫn chưa hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Mình lý giải và hướng dẫn lại nha #Hướng #dẫn #dùng #assighnment #trong #PHP