09/10/2018, 23:19

Cần hiểu rõ về PHP Template Engines

Trích kết ở đoạn kết của bài http://www.sitepoint.com/article/bey...plate-engine/5

"The point of template engines should be to separate your business logic from your presentation logic, not to separate your PHP code from your HTML code".

Bạn nào giải thích rõ dùm đoạn trên nói gì ko? Tách business logic khỏi presentation logic khác với tách PHP code khỏi HTML code như thế nào?
mrsinguyenus viết 01:27 ngày 10/10/2018
Trong smarty nó vẩn có mã trong html, nhưng mã đó dạng mã của smarty.
virtualgirl viết 01:26 ngày 10/10/2018
vẫn chưa rõ, hay trước tiên là mí bạn giải thích rõ hơn về 3 tầng presentation, business, data access cái đã?
nohack viết 01:22 ngày 10/10/2018
Theo như em được học thì mô hình 3 lớp này do Microsoft phát triển đầu tiên ( đếch hiểu có phải không ).
Một tầng là hiển thị dữ liệu, tương tác với người dùng ( mà ở đây là trình duyệt biên dịch ra HTML ). Một tầng là xử lý dữ liệu, xử lý các thông số nhập vào, xuất ra ( mà ở đây là PHP ). Một tầng lưu trữ dữ liệu và thực hiện các thao tác với dữ liệu ( MySQL hoặc 1 hệ quản trị cơ sở dữ liệu nào đó ).

Trong bộ sản phẩm của Microsoft có 1 phần mềm chỉ bao gồm 1 lớp ==> Access trong Office.
cái nick đó viết 01:22 ngày 10/10/2018
"The point of template engines should be to separate your business logic from your presentation logic, not to separate your PHP code from your HTML code".
có thể ngụ ý của hắn là PHP kô phải lúc nào cũng xuất ra HTML, có thể xuất ra XML chẳng hạn...
duyanhnguyen viết 01:19 ngày 10/10/2018
Ặc, cái nì nó nói là chỉ tách cái tầng bi-zi-nét ra khỏi cái tầng layout thôi, chứ không có nghĩa là tách PHP ra khỏi HTML, cho nên trong HTML có Smarty Engine vẫn có thể dùng PHP tùy yêu cầu.
cái nick đó viết 01:31 ngày 10/10/2018
dạ em cám ơn anh.
virtualgirl viết 01:21 ngày 10/10/2018
Quote Được gửi bởi duyanhnguyen View Post
cho nên trong HTML có Smarty Engine vẫn có thể dùng PHP tùy yêu cầu.
Không đúng, rõ ràng bác chỉ nói bừa. Trong file tempalte sử dụng Smarty gõ <?php ... ?> thì ko hiển thị gì ra được hết á.

Security: Templates do not contain PHP code. Therefore, a template designer is not unleashed with the full power of PHP, but only the subset of functionality made available to them from the programmer (application code.) (http://smarty.php.net/rightforme.php)
tumickey viết 01:33 ngày 10/10/2018
hehe sai cú pháp rùi để chèn code php vào template của smarty thì phải là {php} {/php} chứ
mr47 viết 01:21 ngày 10/10/2018
mã template của smarty là PHP, nó sẽ replace mấy cái chuỗi {} bằng code php tương ứng rùi xuất ra file, include vào lại.
Như vậy ko phải là tách PHP khỏi HTML.

Business logic = Domain logic, trong MVC thì phần này là công việc của M ^^
Presentation logic chính là mã smarty template của bạn!
Bài liên quan
0