15.6. Smarty

简介:
			
<?php

//打开错误提示

error_reporting(E_ALL|E_STRICT);

//设定时区

date_default_timezone_set("Asia/Shanghai");

//指明引用文件的路径

set_include_path('.'.PATH_SEPARATOR.'./library'.PATH_SEPARATOR.'./app/model/'.PATH_SEPARATOR.get_include_path());

//必须手动加载Loader.php

include "Zend/Loader.php";

//自动加载类,使用时,直接实例化使用

function __autoload($class){

    Zend_Loader::loadClass($class);

}

   //getInstance()方法用来获取前端控制器实例

   $frontController = Zend_Controller_Front::getInstance();

   //设定前端路由器的工作目录,即cotroller

   $frontController->setControllerDirectory(array("default"=>"app/controller"));

   //抛出异常

   $frontController->throwExceptions(true);

   //设置基地址,方便以后url的跳转用户,注意,区分大小写!

   $frontController->setBaseUrl("/phpzend");

//使用smarty模版需关闭本身的视图助手.

$frontController->setParam("noViewRenderer", true);

       // 关闭错误提示,发生请求错误时候,转到ErrorController的errorAction控制器

//$frontController->throwExceptions(false);

//对。。进行注册

Zend_Registry::set("font", $frontController);

//------------配置Smarty模版 ----------------

include "smarty/Smarty.class.php";

/**

* 对smarty模版进行初始化

**/

$views = new Smarty();

//$views->left_delimiter = "{{";

//$views->right_delimiter = "}}";

$views->compile_dir = "app/template_c";
$views->cache_dir = "app/template_c/cache_c";
$views->template_dir = "app/template";
function smarty_block_dynamic($param,$content,&$views)
{
      return $content;
}

$views->register_block("dynamic","smarty_block_dynamic",false);

Zend_Registry::set("views", $views);

//开始运行程序

$frontController->dispatch();
			
			

			
<?php

   //控制器层

   class IndexController extends Zend_Controller_Action{

     var $views;   /*模板对象*/

     var $data;    /*传递模版变量的对象*/

      function init()

      {

             //拿回注册过的对象

             $this->views = Zend_Registry::get("views");

    }

      function indexAction()

      {

             //定义模版显示的变量

             $data['title']="hello world";

             //传递变量到模版

             $this->views->assign($data);

             //显示模版

             $this->views->display("index/index.tpl");

                       echo "<p>in IndexController::indexAction()</p>";

    }

      function addAction()

      {

      }

}
			
			




原文出处:Netkiller 系列 手札本文作者:陈景峯转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。


目录
相关文章
|
前端开发 JavaScript Java
前端最常用的模板引擎-Handlebars
前端最常用的模板引擎-Handlebars
132 0
ThinkPHP6.0使用twig作为模板引擎
ThinkPHP6.0使用twig作为模板引擎
205 0
|
Web App开发 PHP 索引
smarty、smarty格式化、smarty整数、smarty float、smarty各种转换方式、smarty日期转换等等
smarty code: {config_load file='config.conf'} Smarty学习 {capture name=banner}{*注释掉中间显示内容*} {include file="banner.
1273 0
|
PHP 索引
smarty手册-smarty中foreach循环语句详解
原文地址:smarty手册-smarty中foreach循环语句详解作者:谭博 {foreach}循环也有自身属性的变量,可以通过{$smarty.foreach.name.property}访问,其中"name"是name属性。
1229 0
|
编解码 JavaScript 前端开发
|
PHP 搜索推荐 数据库