{"id":3555,"date":"2015-08-27T14:50:16","date_gmt":"2015-08-27T06:50:16","guid":{"rendered":"http:\/\/www.wpadmin.cn\/blog\/?p=3555"},"modified":"2015-08-27T14:56:00","modified_gmt":"2015-08-27T06:56:00","slug":"php%e6%a1%86%e6%9e%b6ci%e9%85%8d%e7%bd%aesmarty%e8%af%a6%e7%bb%86%e6%95%99%e7%a8%8b%e7%ac%94%e8%ae%b0","status":"publish","type":"post","link":"https:\/\/www.wpadmin.cn\/blog\/3555.html","title":{"rendered":"php\u6846\u67b6ci\u914d\u7f6esmarty\u8be6\u7ec6\u6559\u7a0b\u7b14\u8bb0"},"content":{"rendered":"<p>smarty3.0\u4e0b\u8f7d\uff1a<a href=\"http:\/\/www.wpadmin.cn\/blog\/wp-content\/uploads\/2015\/08\/Smarty-3.0rc3.zip\">Smarty-3.0rc3<\/a><\/p>\n<p>\u9700\u8981\u7528ci\u6765\u5199\u4e00\u4e2a\u540e\u53f0\u914d\u7f6esmarty,\u5728\u7f51\u7edc\u4e0a\u80fd\u591f\u627e\u5230\u4e00\u4e9b\u76f8\u5173\u7684\u6587\u7ae0.\u4f46\u662f\u90fd\u662f\u6bd4\u8f83\u65e7\u7684\u5185\u5bb9,\u5927\u90e8\u5206\u662fsmary2.*\u7684\u914d\u7f6e\u65b9\u6cd5.\u6309\u7167\u8fd9\u4e2a\u914d\u7f6e\u540e\u4f1a\u51fa\u73b0\u4e00\u4e9b\u9519\u8bef.\u5176\u5b9e\u914d\u7f6e\u770bsmary\u5b98\u65b9\u4f1a\u6bd4\u8f83\u7b80\u5355.<\/p>\n<p>\u57fa\u7840<br \/>\n\u5728php\u4e2d\u4f7f\u7528smarty\u7684\u7528\u6cd5<\/p>\n<div class=\"dp-highlighter\">\n<div class=\"bar\"><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">require_once(&#8216;Smarty.<span class=\"keyword\">class<\/span>.php&#8217;);<\/li>\n<li class=\"\">$smarty\u00a0=\u00a0<span class=\"keyword\">new<\/span>\u00a0Smarty();<\/li>\n<\/ol>\n<\/div>\n<p>\u8fd9\u91cc\u5c31\u53ef\u4ee5\u4f7f\u7528\u5bf9\u8c61$smarty\u7684assign\u548cdisplay\u5bf9\u8c61\u6765\u89e3\u6790\u6a21\u677f.\u5728ci\u91cc\u9762\u4f7f\u7528\u65f6\u4e3a\u4e86\u5728controller\u91cc\u9762\u6765\u4f7f\u7528\u8fd9\u4e24\u4e2a\u51fd\u6570.<\/p>\n<p>\u914d\u7f6e<br \/>\nsmarty\u91cc\u9762\u67094\u4e2a\u9700\u8981\u914d\u7f6e\u7684\u9879<\/p>\n<div class=\"dp-highlighter\">\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">$smarty-&gt;setTemplateDir(\u00a0&#8230;);<\/li>\n<li class=\"\">$smarty-&gt;setCompileDir(&#8230;\u00a0);<\/li>\n<li class=\"alt\">$smarty-&gt;setConfigDir(\u00a0&#8230;);<\/li>\n<li class=\"\">$smarty-&gt;setCacheDir(&#8230;\u00a0);<\/li>\n<\/ol>\n<\/div>\n<p>\u90a3\u4e48\u6211\u4eec\u5728ci\u7684config\u91cc\u9762\u521b\u5efa\u4e00\u4e2asmarty.php\u7684\u6587\u4ef6,\u5e76\u52a0\u51654\u4e2a\u53d8\u91cf.\u5176\u4e2dAPPPATH\u7684\u503c\u4e3aapplication\u76ee\u5f55.\u521b\u5efa&#8217;templates_c&#8217;,\u5176\u4ed6\u4e09\u4e2a\u6587\u4ef6\u5939ci\u91cc\u9762\u90fd\u5b58\u5728.<\/p>\n<div class=\"dp-highlighter\">\n<div class=\"bar\"><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">&lt;?php\u00a0\u00a0<span class=\"keyword\">if<\/span>\u00a0(\u00a0!\u00a0defined(&#8216;BASEPATH&#8217;))\u00a0exit(&#8216;No\u00a0direct\u00a0script\u00a0access\u00a0allowed&#8217;);<\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\">$config[&#8216;template_dir&#8217;]\u00a0=\u00a0APPPATH\u00a0.\u00a0&#8216;views&#8217;;<\/li>\n<li class=\"\">$config[&#8216;compile_dir&#8217;]\u00a0\u00a0=\u00a0APPPATH\u00a0.\u00a0&#8216;templates_c&#8217;;<\/li>\n<li class=\"alt\">$config[&#8216;cache_dir&#8217;]\u00a0\u00a0\u00a0\u00a0=\u00a0APPPATH\u00a0.\u00a0&#8216;cache&#8217;;<\/li>\n<li class=\"\">$config[&#8216;config_dir&#8217;]\u00a0\u00a0\u00a0=\u00a0APPPATH\u00a0.\u00a0&#8216;config&#8217;;<\/li>\n<\/ol>\n<\/div>\n<p>\u7c7b\u5e93<br \/>\n\u9996\u5148\u5c06smarty\u7684lib\u76ee\u5f55\u590d\u5236\u5230ci\u7684libraries\u76ee\u5f55,\u5e76\u6539\u540d\u4e3asmarty.\u5728libraries\u91cc\u9762\u521b\u5efa\u4e00\u4e2aci_smarty.php\u7684\u6587\u4ef6.\u8fd9\u91cc\u4e3b\u8981\u662f\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6\u7b49.<\/p>\n<div class=\"dp-highlighter\">\n<div class=\"bar\"><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">&lt;?php<\/li>\n<li class=\"\"><span class=\"keyword\">if<\/span>(!defined(&#8216;BASEPATH&#8217;))\u00a0EXIT(&#8216;No\u00a0direct\u00a0script\u00a0asscess\u00a0allowed&#8217;);<\/li>\n<li class=\"alt\">require_once(\u00a0APPPATH\u00a0.\u00a0&#8216;libraries\/smarty\/Smarty.<span class=\"keyword\">class<\/span>.php&#8217;\u00a0);<\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\"><span class=\"keyword\">class<\/span>\u00a0Ci_smarty\u00a0<span class=\"keyword\">extends<\/span>\u00a0Smarty\u00a0{<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0<span class=\"keyword\">protected<\/span>\u00a0$ci;<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0<span class=\"keyword\">public<\/span>\u00a0function\u00a0\u00a0__construct(){<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0parent::__construct();<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;ci\u00a0=\u00a0&amp;\u00a0get_instance();<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;ci-&gt;load-&gt;config(&#8216;smarty&#8217;);<span class=\"comment\">\/\/\u52a0\u8f7dsmarty\u7684\u914d\u7f6e\u6587\u4ef6\u00a0<\/span><\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"comment\">\/\/\u83b7\u53d6\u76f8\u5173\u7684\u914d\u7f6e\u9879\u00a0<\/span><\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"comment\">\/\/\u00a0$this-&gt;template_dir=\u00a0..\u00a0;\u8fd9\u662f2.*\u7684\u65b9\u6cd5,3.1\u4e4b\u540e\u4fee\u6539\u4e3a\u00a0getXXX\u00a0setXXX\u00a0<\/span><\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;setTemplateDir($<span class=\"keyword\">this<\/span>-&gt;ci-&gt;config-&gt;item(&#8216;template_dir&#8217;));<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;setCompileDir($<span class=\"keyword\">this<\/span>-&gt;ci-&gt;config-&gt;item(&#8216;compile_dir&#8217;));<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;setCacheDir($<span class=\"keyword\">this<\/span>-&gt;ci-&gt;config-&gt;item(&#8216;cache_dir&#8217;));<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;setConfigDir($<span class=\"keyword\">this<\/span>-&gt;ci-&gt;config-&gt;item(&#8216;config_dir&#8217;));<\/li>\n<li class=\"alt\"><\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0}<\/li>\n<li class=\"alt\">}<\/li>\n<\/ol>\n<\/div>\n<p>\u7136\u540e\u5728config\/autoload.php\u91cc\u9762\u8bbe\u7f6e\u81ea\u52a8\u52a0\u8f7dCi_smarty<\/p>\n<div class=\"dp-highlighter\">\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">$autoload[&#8216;libraries&#8217;]\u00a0=\u00a0array(&#8216;ci_smarty&#8217;);<\/li>\n<\/ol>\n<\/div>\n<p>\u81ea\u5b9a\u4e49\u63a7\u5236\u5668<br \/>\n\u5728core\u6587\u4ef6\u5939\u6dfb\u52a0\u4e00\u4e2aMy_Controller.php\u7684\u81ea\u5b9a\u4e49\u63a7\u5236\u5668.\u5c06smarty\u7684assign\u548cdisplay\u4e24\u4e2a\u51fd\u6570\u6dfb\u52a0\u8fdb\u5165.<\/p>\n<div class=\"dp-highlighter\">\n<div class=\"bar\"><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">&lt;?php\u00a0\u00a0<span class=\"keyword\">if<\/span>(!defined(&#8216;BASEPATH&#8217;))\u00a0EXIT(&#8216;No\u00a0direct\u00a0script\u00a0asscess\u00a0allowed&#8217;);<\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\"><span class=\"keyword\">class<\/span>\u00a0MY_Controller\u00a0<span class=\"keyword\">extends<\/span>\u00a0CI_Controller\u00a0{<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0<span class=\"keyword\">public<\/span>\u00a0function\u00a0__construct()\u00a0{<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0parent::__construct();<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0}<\/li>\n<li class=\"alt\"><\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0<span class=\"keyword\">public<\/span>\u00a0function\u00a0assign($key,$val)\u00a0{<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;ci_smarty-&gt;assign($key,$val);<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0}<\/li>\n<li class=\"alt\"><\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0<span class=\"keyword\">public<\/span>\u00a0function\u00a0display($html)\u00a0{<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;ci_smarty-&gt;display($html);<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0}<\/li>\n<li class=\"alt\"><\/li>\n<li class=\"\">}<\/li>\n<\/ol>\n<\/div>\n<p>\u5c06\u63a7\u5236\u5668\u7ee7\u627f\u81eaMy_Controller\u5c31\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e24\u4e2a\u51fd\u6570\u4e86.<\/p>\n<p>\u5b9e\u4f8b<br \/>\n\u63a7\u5236\u5668\u7ee7\u627f\u9700\u8981\u4fee\u6539\u4e3aMy_Controller<\/p>\n<div class=\"dp-highlighter\">\n<div class=\"bar\"><\/div>\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">&lt;?php\u00a0<span class=\"keyword\">if<\/span>\u00a0(\u00a0!\u00a0defined(&#8216;BASEPATH&#8217;))\u00a0exit(&#8216;No\u00a0direct\u00a0script\u00a0access\u00a0allowed&#8217;);<\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\"><span class=\"keyword\">class<\/span>\u00a0Welcome\u00a0<span class=\"keyword\">extends<\/span>\u00a0My_Controller\u00a0{<\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0<span class=\"keyword\">public<\/span>\u00a0function\u00a0index()<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0{<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"comment\">\/\/$this-&gt;load-&gt;view(&#8216;welcome_message&#8217;);<\/span><\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data[<span class=\"string\">&#8220;title&#8221;<\/span>]=<span class=\"string\">&#8220;\u6807\u9898&#8221;<\/span>;<\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data[<span class=\"string\">&#8220;num&#8221;<\/span>]=<span class=\"string\">&#8220;123123&#8221;<\/span>;<\/li>\n<li class=\"alt\"><\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;assign(&#8216;data&#8217;,$data);<\/li>\n<li class=\"alt\"><\/li>\n<li class=\"\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$<span class=\"keyword\">this<\/span>-&gt;display(<span class=\"string\">&#8220;index.html&#8221;<\/span>);<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0}<\/li>\n<li class=\"\">}<\/li>\n<\/ol>\n<\/div>\n<p>view\u6587\u4ef6\u5939\u4e2d\u7684index.html\u6587\u4ef6<\/p>\n<div class=\"dp-highlighter\">\n<ol class=\"dp-j\" start=\"1\">\n<li class=\"alt\">&lt;html&gt;<\/li>\n<li class=\"\">&lt;head&gt;<\/li>\n<li class=\"alt\">\u00a0\u00a0\u00a0\u00a0&lt;title&gt;{$data.title}&lt;\/title&gt;<\/li>\n<li class=\"\">&lt;\/head&gt;<\/li>\n<li class=\"alt\">&lt;body&gt;<\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\">&lt;p&gt;{$data.num}&lt;\/p&gt;<\/li>\n<li class=\"\"><\/li>\n<li class=\"alt\">&lt;\/body&gt;<\/li>\n<li class=\"\">&lt;\/html&gt;<\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>smarty3.0\u4e0b\u8f7d\uff1aSmarty-3.0rc3 \u9700\u8981\u7528ci\u6765\u5199\u4e00\u4e2a\u540e\u53f0\u914d\u7f6esmarty,\u5728\u7f51\u7edc\u4e0a\u80fd\u591f\u627e\u5230\u4e00\u4e9b\u76f8\u5173\u7684\u6587\u7ae0.\u4f46\u662f\u90fd\u662f\u6bd4\u8f83\u65e7\u7684\u5185\u5bb9,\u5927\u90e8\u5206\u662fsma&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[54],"tags":[195,194],"_links":{"self":[{"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/posts\/3555"}],"collection":[{"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/comments?post=3555"}],"version-history":[{"count":0,"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/posts\/3555\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/media?parent=3555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/categories?post=3555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wpadmin.cn\/blog\/wp-json\/wp\/v2\/tags?post=3555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}