Smarty php là gì

Smarty là một trong pháp luật khôn cùng hữu ích đến câu hỏi giải pháp xử lý view vào quy mô MVC, với nó là đồ vật hầu hết không thể thiếu được cho những người xây dựng web UI bài bản.Với hiệ tượng render đặc biệt cùng cùng với chế độ cung ứng cabịt cực kì tiện nghi với nhanh gọn, smarty là điều khoản hoàn hảo nhằm tiết kiệm ngân sách và chi phí thời hạn code với tăng speed xử lý cho website của bạn.Cụ thể smarty là gì thì phần đa bạn coi ở chỗ này (bản thân không kể lại bởi vì nó hơi dài):http://vi.wikipedia.org/wiki/Smartyhttp://www.ttv.vn/What-is-Smarty-Smarty-la-gi.htmlĐể tích hòa hợp smarty vào CI, bạn hãy làm cho công việc sau:1. Download smarty ở đây http://www.smarty.net/2. quý khách hàng bung file file đang tải về sẽ tiến hành tlỗi mục Smarty-3.1.13 (các số lượng tuỳ phiên phiên bản của smarty, bản thân đang dùng phiên bạn dạng số 3.1.13)3. Copy tlỗi mục nhiều giải nén vào vào thư mục application/third_các buổi party. Lúc này bạn có Smarty.class.php ở chỗ nlỗi sau: application/third_party/Smarty-3.1.13/libs/Smarty.class.php (nhớ chất vấn lại nhằm bảo đảm an toàn vấn đề này là đúng mực nhé).4. Trong tlỗi mục application/libraries bạn thêm tệp tin Core_smarty.php cùng với câu chữ code nhỏng sau:


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

sinceVersion0.1*//***Seehttp://www.smarty.net/docs/en/installing.smarty.extended.tpl.*/requireAPPPATH.'/third_party/Smarty-3.1.13/libs/Smarty.class.php';classCore_SmartyextendsSmarty$templateExt="php";function__construct()parent::__construct();/*GHICHU1*/$this->caching=Smarty::CACHING_LIFETIME_CURRENT;$smarty->setCompileCheck(false);$this->setCompileDir(APPPATH.'cache'.DS."smarty".DS."compile".DS);$this->setCacheDir(APPPATH.'cache'.DS."smarty".DS."cache".DS);$this->setTemplateDir(APPPATH.'views'.DS);/***Parseatemplate**Parsespseudo-variablescontainedinthespecifiedtemplateview,*replacingthemwiththedatainthesecondparam**
paramstring*
paramarray*
parambool*
returnstring*/publicfunctionparse($template,$data=array(),$return=FALSE)if(!empty($data))foreach($dataas$key=>$val)$this->assign($key,$val);/*GHICHU2*/$cache_id=$template."_".md5(json_encode($data));$compile_id=null;return$this->fetch("$template.$this->templateExt",$cache_id,$compile_id,null,!$return,TRUE);publicfunctiondisplay($template=NULL,$cache_id=NULL,$compile_id=NULL,$parent=NULL)return$this->parse($template);/*GHICHU3*/publicfunction__set($key,$value)$this->assign($key,$value);/*GHICHU4*///Autoinitandreplacethedefaultparser$CI=&get_instance();$CI->parser=newCore_Smarty();$CI->view=&$CI->parser;/*EndoffileCore_smarty.php*/


Xem thêm: Domain Hijacking Là Gì ? Nghĩa Của Từ Hijacking Trong Tiếng Việt

Trong đó, bạn để ý một vài đoạn bản thân tất cả thêm chữ GHI CHU X. Cụ thể:GHI CHÚ 2: Do để về tối ưu tốc độ sản xuất cùng bình chọn cabịt phải nếu khách hàng chỉ gồm một lượng chuyển đổi nhỏ tài liệu thì smarty sẽ không render lại cơ mà nó trả về mẫu đã cache luôn phải kết quả có thể không giống như mong muốn. lấy ví dụ các bạn render loại view thương hiệu là menu.tpl, trước lúc login cũng loại thực đơn này phần đông sẽ có liên kết "Login", sau thời điểm login thì đang biến thành "Logout". Tuy nhiên nhỏng thường thì, smarty sẽ trả về cả hai đều sở hữu liên kết "Login" vì nó vẫn cache rằng view "menu.tpl" sẽ sở hữu tác dụng là nlỗi đầu tiên.Để tách lỗi sai này mình đã thêm những mẫu sau nhằm mục tiêu xác minh đúng mực liệu dữ liệu gồm thay đổi ko, với mỗi dữ liệu + view tương ứng sẽ có một file cabít tương ứng:
Hãy test và cảm thấy ;)GHI CHÚ 3, GHI CHÚ 4: Mình viết cách tiến hành này nhằm mục đích giao hàng đến mọi các bạn sẽ thân quen xuất xắc phù hợp phong thái assign trở thành vào view mẫu mã nhỏng của Zkết thúc chũm vì chưng quăng vào array truyền thống lịch sử của CI. Cụ thể hôm nay vào controller bạn cũng có thể viết nlỗi sau:
$this->view->bienRaView="value1";$this->view->bienRaView2=array("item1","item2");$this->view->render("view");//hoặc//$this->view->display("view");//$this->parser->render("view");//$this->parser->display("view");
$data<'bienRaView'>="value1";$data<'bienRaView2'>=array("item1","item2");$this->view->render("view",$data);


Xem thêm: Top 6 Bài Tập Uốn Dẻo Cơ Bản Dành Cho Người Mới Bắt Đầu, Top 7 Động Tác Ép Dẻo

5. Để tự động hóa load smarty, chúng ta tìm kiếm file application/config/autoload.phpBổ sung core_smarty vào autoload libraries, lưu ý khác nhau hoa thường, thương hiệu tại đây nên trọn vẹn trùng khớp với tên file và thương hiệu class đã sản xuất.$autoload<'libraries'> = array('Core_smarty');6. Vậy là kết thúc. Bây giờ smarty sẽ chuẩn bị sẵn sàng cho mình.

Chuyên mục: Blogs