smarty怎么在Zend框架中使用

  

smarty怎么在Zend框架中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强>一、Zend框架简介

Zend框架使用模型,视图——控制器(模型-视图-控制器(MVC))结构。这个用来把你的程序分离成不同部分使得开发和维护变得容易。

运行Zend框架需要:PHP 5.1.4(或更高),Web服务器支持mod_rewrite功能,本实例采用Apache。从这里http://framework.zend.com/download下载Zend框架,有两种格式. zip或者. tar。广州。

<强>二,Zend框架的配置

<强> 1,目录结构

虽然Zend框架没有强求使用一个标准的目录结构,但是还是有一些通用的目录结构。这个目录结构假设你完全控制Apache的配置。(下面以本机做例子,各位需根据自己的情况进行更改,我的服务器的根目录指向的是Web文件夹)

引用:

Web/测试/

/webapp
/控制器

/模型/模板
/templates_c

/图书馆/webroot
/
图像css/js
/

我们已经把程序中的模型,视图和控制器的文件分离到不同的子目录中。支持的图像,脚本和css文件被存放在webroot目录下的不同子目录中。下载的Zend框架文件放在图书馆目录下。如果我们还需要其他库文件,都可以放在这里。在这个实例中,我们使用到了Smarty模版技术,所以Smarty的库文件我们也应该放在图书馆文件下!

<强> 2,启动文件

1)配置. htaccess

我们使用单一的入口文件index . php来对我们的程序进行访问,这给我们提供了程序中所有页面的中心点并确保运行环境配置正确。我们用。htaccess文件来实现这个目的,添加。htaccess文件在测试的根目录中,内容如下:

RewriteEngine    RewriteRule  !“。(js | ico | gif | jpg | png | css),美元指数。php

2)配置Apache
与此同时,我们还需要对Apache进行一些设置,打开Apache的配置文件httpd。参看。

1,找到“# LoadModule rewrite_module模块/mod_rewrite。所以这句话,把前面的#去掉!

2,然后再找到“AllowOverride没有改成AllowOverride,重新启动apache即可。

3,启动文件index . php
index . php放在测试的根目录下、下面是指数。php的内容::

& lt; ? php //打开错误提示   error_reporting (E_ALL |代码),,//设定时区   作用(& # 39;亚洲/上海# 39;),,//指明引用文件的路径   set_include_path(& # 39; # 39;公司,。   PATH_SEPARATOR 只& # 39;。/图书馆/& # 39;。   PATH_SEPARATOR 只& # 39;。/webapp/模型/& # 39;。   PATH_SEPARATOR 只get_include_path ());//必须手动加载Loader.php   include “Zend/Loader.php",,//自动加载类,使用时,直接实例化使用   function  __autoload(类){   Zend_Loader: loadClass($类);   }//getInstance()方法用来获取前端控制器实例   $ frontController =, Zend_Controller_Front: getInstance ();,//设定前端路由器的工作目录   frontController→美元setControllerDirectory(数组(“default"=祝辞& # 39;。/webapp/控制器# 39;)),,//抛出异常   frontController→美元throwExceptions(真正的),,//设置基地址,方便以url后的跳转用户,。注意,区分大小写!   frontController→美元setBaseUrl(& # 39;/测试# 39;),,//使用smarty模版需关闭本身的视图助手又是;   frontController→美元setParam (& # 39; noViewRenderer& # 39;,,真的),,//,关闭错误提示,发生请求错误时候,转到ErrorController的errorAction控制器//美元frontController→throwExceptions(假);//对…进行注册   Zend_Registry::设置(& # 39;字体# 39;,,frontController美元);//- - - - - - - - - - - -配置Smarty模版,- - - - - - - - - - - - - - - - -   include  & # 39; Smarty/Smarty.class.php& # 39;,,/* *   *,对smarty模版进行初始化   * */$ views =, new  Smarty ();//视图→美元left_delimiter =,“{{“;//视图→美元right_delimiter =,“}}“;   视图→美元compile_dir =, & # 39;/webapp/templates_c& # 39;;   视图→美元cache_dir =, & # 39;。/webapp/templates_c cache_c& # 39;;   视图→美元template_dir =,“。/webapp/templates";   function  smarty_block_dynamic(参数,内容,美元及美元视图)   {   美元return 内容;   },   视图→美元register_block(& # 39;动态# 39;,& # 39;smarty_block_dynamic& # 39;,假);   Zend_Registry::设置(& # 39;观点# 39;,,美元的观点);//开始运行程序   frontController→美元分派(),,   祝辞;

smarty怎么在Zend框架中使用