10/10/2018, 00:08

mời các bác pro về smarty giải đáp dùm em với

các bác cho mình hỏi là : vấn đề tách code và design riêng biệt với nhau trong smarty có phải là chỉ để cho người code và design dể làm việc hơn không, hay nó có thể làm cho trang web chạy nhanh hơn(không nói tới ajax)
mình thấy ở đây có một vấn đề là:

- bình thường php sẽ dịch file php ra html và trả lại phía client
- nếu dùng smarty thì trình dịch sẽ đọc file tpl, file tpl về cơ bản là giống với html, php chỉ việc tìm những biến trong file tpl và thay giá trị vào đó, sau đó cũng sẽ biên dịch ra html và trả lại cho client

vậy 2 cách đó, nếu smarty không dùng ajax thì tốc độ load trang web có gì khác nhau không ? mong các bác chỉ giáo. thanks
kxd viết 02:22 ngày 10/10/2018
Làm sao nhanh hơn được phải là chậm đi chứ bạn
dungbeo113 viết 02:15 ngày 10/10/2018
Đệ đây cũng dùng Smarty, nhưng theo đệ hiểu thì không phải file tpl ko, mà tất cả những file nào mình quy địch cho Smarty dịch thì nó đều đọc từ đầu đến cuối và rồi thay biến vào, đồng thời tạo ra 1 file cache(temp/templates_c) để khi duyệt lần 2 không phải mất công dịch lại. Những file nào đã được cache thì sẽ không dịch nữa chỉ việc đọc. Nên có cảm tưởng nhanh hơn.
Smarty và Ajax cũng không khác nhau gì nhiều lắm. Dùng Smarty trang vẫn refresh từ đầu chỉ có điều không dịch lại những phần đã Cache(tức là nội dung không thay đổi theo quy định của người lập trình). Còn Ajax thì gửi về web server và nhận lại những nội dung cần thay đổi. Tuy nhiên với Smarty thì máy client phải trình bày lại các file hình ảnh đã được load về trong Temporary của máy bạn, còn sử dụng công nghệ Ajax thì máy không cần phải trình bày lại.
Nếu áp dụng Smarty và Ajax vào thì cũng chả thu được kết quả gì nhiều. Thậm chí đường truyền không ổn định còn làm cho các Object Ajax Process đứt đoạn giữa chừng. Kết quả là web đứng tại chỗ và nếu máy cấu hình yếu còn chậm hơn là sử dụng công nghệ thông thường.
vunamkhtn viết 02:24 ngày 10/10/2018
Được gửi bởi dungbeo113
Đệ đây cũng dùng Smarty, nhưng theo đệ hiểu thì không phải file tpl ko, mà tất cả những file nào mình quy địch cho Smarty dịch thì nó đều đọc từ đầu đến cuối và rồi thay biến vào, đồng thời tạo ra 1 file cache(temp/templates_c) để khi duyệt lần 2 không phải mất công dịch lại. Những file nào đã được cache thì sẽ không dịch nữa chỉ việc đọc. Nên có cảm tưởng nhanh hơn.
Smarty và Ajax cũng không khác nhau gì nhiều lắm. Dùng Smarty trang vẫn refresh từ đầu chỉ có điều không dịch lại những phần đã Cache(tức là nội dung không thay đổi theo quy định của người lập trình). Còn Ajax thì gửi về web server và nhận lại những nội dung cần thay đổi. Tuy nhiên với Smarty thì máy client phải trình bày lại các file hình ảnh đã được load về trong Temporary của máy bạn, còn sử dụng công nghệ Ajax thì máy không cần phải trình bày lại.
Nếu áp dụng Smarty và Ajax vào thì cũng chả thu được kết quả gì nhiều. Thậm chí đường truyền không ổn định còn làm cho các Object Ajax Process đứt đoạn giữa chừng. Kết quả là web đứng tại chỗ và nếu máy cấu hình yếu còn chậm hơn là sử dụng công nghệ thông thường.
mình thấy smarty hình như là sử dụng công nghệ ajax mà phải không ? mỗi lần load lại trang web mình thấy chỉ load lại những phần thay đổi thôi . vậy đó là do công nghệ ajax hay là smarty vậy bạn?
itanium7000 viết 02:18 ngày 10/10/2018
Được gửi bởi vunamkhtn
các bác cho mình hỏi là : vấn đề tách code và design riêng biệt với nhau trong smarty có phải là chỉ để cho người code và design dể làm việc hơn không, hay nó có thể làm cho trang web chạy nhanh hơn(không nói tới ajax)
Một phần là thế, tuy nhiên mở rộng ra nữa là vấn đề bảo trì và đọc lại code sau này, một file thuần PHP sẽ giúp coder tập trung hơn, sáng tạo hơn!

Được gửi bởi vunamkhtn
mình thấy ở đây có một vấn đề là:

- bình thường php sẽ dịch file php ra html và trả lại phía client
- nếu dùng smarty thì trình dịch sẽ đọc file tpl, file tpl về cơ bản là giống với html, php chỉ việc tìm những biến trong file tpl và thay giá trị vào đó, sau đó cũng sẽ biên dịch ra html và trả lại cho client

vậy 2 cách đó, nếu smarty không dùng ajax thì tốc độ load trang web có gì khác nhau không ? mong các bác chỉ giáo. thanks
File template đơn giản như một khung lưới trình bày nội dung, chưa các "chỗ chứa" nội dung có định dạng và định danh khác nhau. Smarty có nhiệm vụ lấy dữ liệu mà code của bạn đã xử lý trả về, tổ chức sắp xếp cho phù hợp với các "chỗ chứa" rồi ném vào "chỗ chứa". Xong xuôi hệ thống đã có một lưới nội dung hoàn toàn tĩnh và trả về cho trình duyệt hiển thị.

Smarty chỉ là Template Engine, còn Ajax là một kỹ thuật sử dụng XML và Javascript để thực hiện request và hiển thị một cách "bất bình thường". Vậy không thể so sánh chúng với nhau, việc website của bạn sử dụng Ajax hay không là do bạn quyết định chứ không liên quan lắm việc "Smarty sử dụng ajax".
conmeotreocaycau viết 02:23 ngày 10/10/2018
Về Smarty xem ở đây nè pà kon: http://groups.google.com/group/phpvi...rch+this+group
wantlove viết 02:25 ngày 10/10/2018
Nhân đây nhờ các bác hướng dẫn cơ bản về smarty giùm e với.Muốn tìm hiểu mà thấy khó quá.
zoejoe viết 02:12 ngày 10/10/2018
Đọc Manuals Hình như chỉ có hơn 100 trang bằng tiếng anh, down về rồi in ra giấy ngồi nghiên cứu Tui học cũng bằng cách này. Chẳng có sách tiếng việt, toàn ebooks nên phải in ra để dễ học !
wantlove viết 02:24 ngày 10/10/2018
Được gửi bởi zoejoe
Đọc Manuals Hình như chỉ có hơn 100 trang bằng tiếng anh, down về rồi in ra giấy ngồi nghiên cứu Tui học cũng bằng cách này. Chẳng có sách tiếng việt, toàn ebooks nên phải in ra để dễ học !
Giới thiệu cho e manuals nào được không bác.E củng có đọc vài trang về smarty nhưng mà nhìn vào sợ quá không biết băt đầu từ đâu.Mong các bác tận tình giúp đỡ.
amida viết 02:23 ngày 10/10/2018
Smarty đầy docs trên mạng, trên offical site của nó luôn mà.
Nói chung không phải là khó, vì bạn không chịu cố gắng thôi, tôi chỉ mất vài giờ để hiểu và vài ngày là sử dụng thành thạo Smarty
Bài liên quan
0