Smarty là gì

Smarty là gì

Tạo thư mục để chứa source code thư viện smartyGiải nén thư mục vừa tải về, chỉ cần dùng thư mục “libs”Chép mọi thứ trong thư mục “libs” vào DOCUMENT_ROOTsmarty_examplesmartyCấu trúc thư mục của thư mục project như sau:

DOCUMENT_ROOT (e.g c:/Apache24/htdocs)

|-smarty_example

|-smarty

|-view

|-view_c

2. Ví dụ đơn giản

a. Chuẩn bị file template để hiển thị có tên “index.tpl”

View này sẽ hiển thị biến “name” ra ngoài màn hình.

Bạn đang xem: Smarty là gì

b. Chuẩn bị back-end để cung cấp dữ liệu cho view

Chúng ta sẽ chuẩn bị khởi tạo smarty để nó có thể hoạt động. Đồng thời, cũng thực hiện chuẩn bị dữ liệu để hiển thị ra view.

Đầu tiên, chúng ta phải khai báo smarty trong PHP, sau đó cấu hình các thư mục cần thiết như: view (chứa các template dạng .tpl), view_c (các template đã compile ra dạng .php) để smarty có thể hoạt động. Sau đó để sử dụng một biến nào đó của PHP trong smarty, ta thực hiện gán biến đó qua smarty bằng lệnh “assign”. Cuối cùng để gọi view, ta gọi hàm “display”.

3. Tinh chỉnh Smarty để sử dụng thuận tiện hơn (Cá nhân hóa Smarty)

Ta sẽ tạo 1 lớp mới mang tên “mySmarty” để bọc lớp “Smarty” gốc lại, nhằm có thể thực hiện được các cấu hình mong muốn. Ta có thể đặt file này ở bất cứ đâu, nhưng để thuận tiện, ta thường đặt file này chung thư mục chứa Smarty của project.

Như vậy, ta chỉ cần cấu hình đường dẫn để smarty chứa các file compiled và thư mục chứa các file template một lần duy nhất. Sau này khi sử dụng smarty, ta sẽ sử dụng lớp “mySmarty” thay cho lớp “Smarty”, và không cần phải cấu hình gì thêm. Ví dụ (ở mục 2) sẽ được viết lại file back-end như sau:

4. Cú pháp Smarty đơn giản

a. Biến

b. Hàm và thuộc tính

{funcname attr1=”val1″ attr2=”val2″}

Every Smarty tag either prints a variable or invokes some sort of function. These are processed and displayed by enclosing the function and its attributes within delimiters like so: {funcname attr1=”val1″ attr2=”val2″}.Attributes to Smarty functions are much like HTML attributes. Static values don’t have to be enclosed in quotes, but it is required for literal strings.

Xem thêm: Now Là Thì Gì – Cấu Trúc Và Cách Dùng Các Thì Tiếng Anh

c. Escape mã thực thi

{literal} tags allow a block of data to be taken literally. This is typically used around Javascript or stylesheet blocks where {curly braces} would interfere with the template delimiter syntax.

d. Các hàm có sẵn trong Smarty

{if},{elseif},{else}

{for}

{foreach} {foreachelse}

{include}

It’s used for including other templates in the current template. Any variables available in the current template are also available within the included template.

{assign}

It is used for assigning template variables during the execution of a template.

Xem thêm: Hỗn Số Là Gì – Lý Thuyết Hỗn Số Toán 5

{strip}

Anything within {strip}{/strip} tags are stripped of the extra spaces or carriage returns at the beginnings and ends of the lines before they are displayed.

{capture}

It is used to collect the output of the template between the tags into a variable instead of displaying it

Link code tham khảo: https://drive.google.com/open?id=0B-5fkWexH-GOY2lOQ2szSExGWmM

Chuyên mục: Hỏi Đáp

Share:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn