01/10/2018, 14:39

Tại sao Laravel không cần biết tên Table trong CSDL mà nó vẫn gán đúng được dữ liệu vào trong CSDL?

Hiện tại mình đang học “Laravel” framework của php và rất muốn có một người nào đó học cùng hay chỉ dẫn ACE nào học rồi có thể giúp mình với được không?

Mình có một câu hỏi là tại sao Laravel không cần biết tên Table trong CSDL mà nó vẫn gán đúng được dữ liệu vào trong CSDL ạ?

Hung viết 16:41 ngày 01/10/2018

Câu 2: Convention over configuration

Hoang viết 16:55 ngày 01/10/2018

Anh có thể nói qua cái đó được ko @hungsteve

Hung viết 16:41 ngày 01/10/2018

Laravel dựa vào code của em viết để sinh configuration. Để override lại configuration thì làm theo hướng dẫn thêm trong docs.
Ví dụ: tạo model trong tên class sẽ là tên table trong database + s

Configuration over convention.
Không có bước sinh config, tự định nghĩa bằng tay hết. Vì vậy thường có boilterplate code, starter kit, hay new project trong IDE, hoặc generator cli
Frontend framework hiện đang theo kiểu này

Dark.Hades viết 16:43 ngày 01/10/2018

Nó nhờ vào reflection mà PHP hay những ngôn ngữ bậc cao ngày nay hỗ trợ.

Hoang viết 16:52 ngày 01/10/2018

Cho em hỏi ngu 1 câu là : Dùng reflection nó phức tạp, tốn tài nguyên hơn khi làm bình thường mà sao nn bậc cao ngày nay lại muốn hỗ trợ vậy anh?

Dark.Hades viết 16:54 ngày 01/10/2018

Dĩ nhiên nó tốn hơn rồi.

Tuy nhiên đối với những ngôn ngữ qua thông dịch, máy ảo,… thì nó không là vấn đề quá lớn.

Bởi vì nó vốn dĩ là text từ đầu rồi, trình thông dịch khi đọc các file code cũng tự động giữ lại những thông tin cần để lúc bạn muốn sử dụng thì gọi ra được luôn.

Chính vì nó vốn là text nên việc thêm các chức năng mới cho ngôn ngữ đó không phải là việc khó, lại giúp lập trình viên nhàn hơn.

Đổi lại nó sẽ khiến cpu làm việc nhiều hơn, ngốn nhiều ram để lưu hơn,…

Những ngôn ngữ build ra mã máy như C++, việc thêm reflection vào không đơn giản chút nào, vì toàn bộ biến số được chuyển thành địa chỉ, không còn text nào lưu lại trong file exec cả.

Bài liên quan
0