- 浏览: 842296 次
- 性别:
- 来自: 南京
-
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
zend框架混合使用zend视图和smarty视图
为了自由使用视图,实践摸索出一套办法。
zend自带了php视图,后缀是phtml,还有一些常用的帮助类等,假如分模块,结构类似
4个根目录的父目录由版本管理同步,
application 框架程序
library 类库,需要放在php.ini的include_path里,其中含了smarty和Zend框架的类库。
script 一些脚本
documentroot apache的文档根目录
把smarty的模板根目录定位到application,主要是为了有一些smarty公用的模板有地方可放。
为方便起见,zend视图完全按照zend的要求,连后缀都不改,目录结构都不改。
zend视图默认的是"模块名/views/scripts/控制器名/动作名.phtml"
smarty模板则相应使用"模块名/views/templates/控制器名/动作名.tpl"
假设有两个模块,缺省模块和论坛的bbs模块,在目录中可以看出,缺省模块的index控制器使用了zend视图,别的统统使用smarty视图。
在documentroot/index.php里有如下片段
如果使用zend视图,则控制器类什么都不做。
在需要使用smarty的控制器里,这样
就这样,整个世界都清净了。
为了自由使用视图,实践摸索出一套办法。
zend自带了php视图,后缀是phtml,还有一些常用的帮助类等,假如分模块,结构类似
. |-- application | |-- configs | | `-- application.ini | |-- modules/ | | |-- bbs | | | |-- controllers | | | | |-- BbsapplyController.php | | | | |-- BbstopicController.php | | | | `-- IndexController.php | | | |-- models | | | `-- views | | | |-- helpers | | | |-- scripts | | | `-- templates | | | |-- Bbsapply | | | | |-- index.tpl | | | | `-- view.tpl | | | |-- Bbstopic | | | | |-- index1.tpl | | | | |-- index2.tpl | | | | `-- index.tpl | | | `-- index | | | `-- index.tpl | | `-- default | | |-- controllers | | | |-- IndexController.php | | | |-- NewsController.php | | |-- models | | `-- views | | |-- helpers | | |-- scripts | | | `-- index | | | |-- index.phtml | | | `-- index2.phtml | | `-- templates | | `-- news | | |-- category.tpl | | `-- index.tpl | `-- templates | |-- common1.tpl | |-- common2.tpl | `-- common3.tpl |-- library | |-- Lib1.php | |-- Lib2.php | |-- Dao | | |-- Lib1.php | | `-- Lib2.php | |-- Smarty | | |-- Config_File.class.php | | |-- Smarty.class.php | | |-- Smarty_Compiler.class.php | | |-- Templater.php | | |-- debug.tpl | | |-- internals | | | |-- core.assemble_plugin_filepath.php | | | |-- core.assign_smarty_interface.php | | | `-- core.write_file.php | | `-- plugins | | |-- block.textformat.php | | |-- compiler.assign.php | | |-- function.assign_debug_info.php | | `-- shared.make_timestamp.php | |-- Templater | | `-- plugins | | |-- function.pagelinks.php | | |-- function.wysiwyg.php | | `-- modifier.title1.php | `-- Zend | |-- Acl | |-- Amf | |-- Auth | |-- Barcode | |-- ...... | `-- ...... |-- script | `-- migrate | `-- script1.php `-- documentroot |-- design | |-- demo1.html | `-- demo2.html |-- images | |-- bg.png | |-- index.png | |-- blank.gif | |-- captcha.png | `-- small.png |-- css | |-- 1.css | `-- 2.css |-- js | `-- lib | |-- jquery-1.4.2.min.js | `-- jquery-ui-1.8.6.custom.min.js `-- index.php
4个根目录的父目录由版本管理同步,
application 框架程序
library 类库,需要放在php.ini的include_path里,其中含了smarty和Zend框架的类库。
script 一些脚本
documentroot apache的文档根目录
把smarty的模板根目录定位到application,主要是为了有一些smarty公用的模板有地方可放。
为方便起见,zend视图完全按照zend的要求,连后缀都不改,目录结构都不改。
zend视图默认的是"模块名/views/scripts/控制器名/动作名.phtml"
smarty模板则相应使用"模块名/views/templates/控制器名/动作名.tpl"
假设有两个模块,缺省模块和论坛的bbs模块,在目录中可以看出,缺省模块的index控制器使用了zend视图,别的统统使用smarty视图。
在documentroot/index.php里有如下片段
defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); //创建前端控制器对象, $front_controller = Zend_Controller_Front::getInstance(); $front_controller->addModuleDirectory(APPLICATION_PATH . '/modules'); //分发 $front_controller->dispatch();
如果使用zend视图,则控制器类什么都不做。
在需要使用smarty的控制器里,这样
//缺省模块的新闻控制器 class NewsController extends Zend_Controller_Action { function init(){ $viewRenderer = $this->getHelper('viewRenderer'); $viewRenderer->setView(new Smarty_Templater()) ->setViewBasePathSpec(APPLICATION_PATH ) ->setViewScriptPathSpec('modules/:module/views/templates/:controller/:action.:suffix') ->setViewSuffix('tpl') ->initView(); $this->view = $this->_helper->viewRenderer->view; parent::init(); } /** * 缺省模块的新闻控制器的index行为,使用samrty模板 */ public function indexAction() { }
就这样,整个世界都清净了。
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 739本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 908centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1296本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 1516列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 554期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 1168ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 839一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 676coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 939deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 663假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 952php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 983php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 696根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 846phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 432如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 786方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 856在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 719整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 903最新版本的php的redis插件,版本是5.0 但是可能会有 ...
相关推荐
在Zend Framework中整合Smarty模板引擎,可以让开发人员利用Zend Framework强大的框架特性和Smarty简洁的模板语法来创建更为复杂和功能丰富的Web应用。以下是整合Zend Framework与Smarty时需要了解的相关知识点。 ...
**Zend Framework** 是一个广泛使用的PHP框架,它提供了构建MVC(模型-视图-控制器)应用程序的强大工具。其中,**Zend_View** 是视图层的核心组件,它负责处理视图脚本并渲染输出。 **Smarty** 是一个独立的PHP...
3. **整合过程**:在Zend Framework中整合Smarty,通常需要创建一个新的View类,继承自Zend Framework的默认View类,然后替换掉默认的模板解析逻辑,使用Smarty来解析和渲染模板。这样做的好处是可以利用Smarty的...
此外,Zend Framework还遵循了PSR(PHP框架互操作性规范)标准,增强了与其他PHP库和框架的兼容性。 在实际开发中,Smarty通常用于处理视图渲染,将后台的数据转化为用户友好的界面。而Zend Framework则作为整个...
3. 实例化Smarty视图类:在应用中使用Smarty视图类,需要在应用的配置文件中指定使用Smarty作为视图引擎。配置完成后,Zend Framework将自动创建Smarty实例,并将其用作视图对象。 具体实现如下: ```php class ...
3. **初始化**Smarty视图对象:根据获取到的配置信息实例化**Zamp_View_Smarty**对象。 4. **赋值**:使用`$view->assign()`方法向视图对象传递数据。 5. **设置脚本路径**:指定**Smarty**模板文件所在的目录。 6. ...
本文将详细介绍如何在Zend Framework项目中集成并使用Smarty模板引擎。 #### 二、准备工作 在开始整合之前,请确保已经安装了以下组件: - PHP环境 - Zend Framework - Smarty模板引擎 确保以上环境都已安装完毕...
总的来说,这个实例集合为PHP开发者提供了一个全面的学习路径,从基础的 Zend Framework 配置和MVC概念,到Smarty模板引擎的使用,再到Ajax的实现和Google Maps API的集成。通过逐步学习和实践每个章节的内容,...
本实例教程专注于使用PHP5结合两个强大的框架——Zend Framework和Smarty,来构建基于MVC(Model-View-Controller)模式的应用程序。MVC模式是软件工程中的一种设计模式,它将业务逻辑、数据和用户界面分离,提高了...
Smarty中文手册提供了关于如何使用该框架的详细指南,包括变量赋值、模板语法、函数和配置选项等,帮助开发者更好地理解和运用Smarty。 2. jQuery API: jQuery是一个流行的JavaScript库,它简化了DOM操作、事件...
"php_smarty"和"smarty"标签则表明了这个框架中使用了Smarty模板系统。 【压缩包子文件的文件列表】中,"www.pudn.com.txt"可能是一个文本文件,通常这种文件名可能是来源于某个网站的下载链接,可能包含了关于该...
PTML 可能是指 `Zend Framework` 中的视图脚本标记语言,类似于 Smarty 或其他模板引擎。它允许开发者将 PHP 代码与 HTML 结合,以创建动态页面。PTML 通过分离表现层和逻辑层,使开发者可以专注于布局和设计,而...
Smarty是一个专为PHP设计的模板引擎,它将业务逻辑与视图层分离,使得开发者能够更专注于界面设计和用户体验,而不用关心后端数据处理的细节。在本次提到的“php+smarty+mvc框架登录已完成”的项目中,我们重点讨论...
手册会详细介绍框架的架构、路由机制、MVC模式的应用、数据库操作、缓存管理、类库和插件的使用等。通过阅读手册,开发者可以快速理解和应用该框架。 3. **MySQL5.1简体中文参考文档**: MySQL是世界上最受欢迎的...
这些手册涵盖了PHP编程、Smarty模板引擎、Zend Framework框架以及CSS样式表的重要知识,对于PHP程序员来说是必备的参考资料。下面将分别对这四个手册的主要内容进行详细的解释。 1. **PHP手册 (php_manual_zh.chm)*...
- **前端视图引擎**:默认使用的是 PHP 自带的模板引擎,但也支持其他模板引擎,如 Smarty。 - **配置文件**:配置文件通常采用 INI 或 XML 格式,用于存储框架和应用程序的配置参数。 - **异常处理**:提供了...
Zend Framework 是一个强大的 MVC(模型-视图-控制器)框架,它提供了丰富的组件和工具,便于开发者构建高效、可扩展的 Web 应用。 **一、Zend Framework 简介** Zend Framework 是一个开源、面向对象的 PHP 框架...
此外,还会讨论 Zend Framework 如何与其他PHP库和框架集成,以及如何利用其强大的组件化设计来构建可扩展的应用。 ### 第二章:环境配置与安装 本章将详述如何在各种操作系统环境下安装 Zend Framework,包括使用...
此外,还可以选择使用其他模板引擎,如Smarty或PHPTAL等。 ##### 控制器(Controller) 控制器是处理用户请求的核心组件。在Zend Framework中,控制器通常由`Zend_Controller_Action`类实现。控制器负责解析用户的...