Hỏi về vấn đề view trong mvc php
Giò mình đang tập làm một trang bán hàng bằng php theo mô hình mvc,có cái phần mà mình nghĩ mãi chưa ra. Cả trang sẽ có phần footer header cố định, riêng phần content sẽ thay đổi tùy vào controller mình gọi, nhưng làm sao để cố định phần đó trong khi mỗi lần gọi controller lại gọi 1 view khác nhau? chẳng nhẽ trong view nào cũng phải code lại phần header với footer ? Mình biết trong Codeinterger có phần master layout nhưng mà cô giáo không cho làm framework, mà mình cũng không rõ mô hình mvc hay các framework khác có dùng master layout để làm như vậy không.
Cách đơn giản nhất có thể là Copy paste
Đùa thôi, PHP có hỗ trợ include html
Xem hướng dẫn ở đây
Creating a PHP header/footer
Trong mỗi view thêm include header/footer vào
Sau đó tạo cái file
header.php
Trong file header mình có thể thêm điều kiện, gọi hàm, etc … để có thể thay đổi tùy theo view nếu thích, còn không thì thôi
Vậy lúc làm một website chuyên nghiệp thì họ cũng include như vậy hả anh, em nghĩ phải có cách nào mà đỡ phải lần nào cũng include chứ
Website chuyên nghiệp người ta dùng Router :3
Laracasts
Bạn hoàn toàn có thể tự code 1 cái router đơn giản. Xem thêm chi tiết ở đây
The PHP Practitioner
We all start somewhere. When it comes to web development with PHP, well, your first stop is this series. Designed specifically and exclusively for beginners, here, you'll learn the fundamentals of PHP - all the way down to defining variables and...
Thank bạn, nhưng mà cái router này mình nghĩ chỉ là làm cho url thân thiện hơn thôi, chứ trong bài hướng dẫn view nào cũng phải include header với footer mà , thôi chắc đành dùng tạm cách này vậy
Website chuyên nghiệp họ dùng framework, view template, master layout bạn ạ.
MVC đơn giản bạn có thể xem project này https://github.com/panique/mini3
Bạn có thể thấy trong controller họ thường viết như thế này
Tuy nhiên bạn có thể viết 1 hàm chung chẳng hạn:
BaseController.php
HomeController.php
example_one.php
với mấy cái dự án lớn có nhiều người tham gia code nó có framework riêng để handle view hết bên java mình dùng apache tile3 , còn viết mấy trang nhỏ 1,2 người viết thì dùng include vẫn được nhưng debug khổ lắm phải chạy qua chạy lại xem…@@