PHP Smarty程序应用范例

作者:武汉味美食家餐饮管理有限公司 来源:www.cj17917.com 发布时间:2017-09-06 11:00:02
PHP Smarty程序应用范例 这个范例是Smarty安装指南中留言簿程序的扩展,所以我们是基于此之上进行开发的。以下是我们这个程序用到的文件:

guestbook app files/directories:

/web/www.example.com/docs/

/web/www.example.com/docs/guestbook/

/web/www.example.com/docs/guestbook/index.php

/web/www.example.com/smarty/guestbook/

/web/www.example.com/smarty/guestbook/templates/

/web/www.example.com/smarty/guestbook/templates_c/

/web/www.example.com/smarty/guestbook/configs/

/web/www.example.com/smarty/guestbook/cache/

/web/www.example.com/smarty/guestbook/libs/

/web/www.example.com/smarty/guestbook/libs/guestbook_setup.php

/web/www.example.com/smarty/guestbook/libs/guestbook.lib.php

/web/www.example.com/smarty/guestbook/libs/sql.lib.php

下面,我们一个一个地解释这些文件的用处:

/web/www.example.com/docs/

/docs/ 是我们WEB服务器的根目录(Apache httpd.conf中的DocumentRoot)。

/web/www.example.com/docs/guestbook/

/guestbook/ 是能被浏览器访问的一个相对于根目录的下级目录,存放着我们的程序。

/web/www.example.com/docs/guestbook/index.php

index.php 是我们程序的“大门”,WEB浏览器将通过访问到这个脚本文件。

/web/www.example.com/smarty/guestbook/

这是存放我们这个程序(实现逻辑的)所有脚本文件的目录,这些脚本文件不一定要存放在服务器根目录下。是否将所有脚本文件都存放在服务器的根目录下完全随你所愿,但是这里我们只把允许WEB浏览器直接访问的页面文件放在WEB服务器的根目录下。你可以使用Apache的“.htaccess”方法或其他WEB服务器软件的方法禁止WEB浏览器对存放在根目录下的这些(不宜让WEB浏览器直接访问的)程序脚本文件的直接访问。

/web/www.example.com/smarty/guestbook/templates/

这里存放我们的Smarty模板文件。

/web/www.example.com/smarty/guestbook/templates_c/

This is where Smarty places its compiled template files. If you installed this correctly, the web server user running PHP has write access here. For most intents and purposes you can just ignore this directory. 这里存放Smarty编译过的模板文件。如果你安装正确,运行PHP的WEB服务器对这里有写权限。出于一些偷懒的目的你可以忽略这个目录。(瞎翻的,用我自己的话讲:WEB服务器要具有这个目录的写权限,否则不能正确安装。如果不想伤脑筋,就忽略它吧。)

/web/www.example.com/smarty/guestbook/configs/

用于存放我们程序的设置文件。设置文件包含着你对来自模板或者程序的访问权限的设置信息。它们不是PHP脚本文件,而是一些可以被Smarty的设置文件解析器解析的文本文件。

/web/www.example.com/smarty/guestbook/cache/

用于存放Smarty的缓存文件。这个目录仅仅当Smarty的缓存功能被打开时才有用。如果你正确安装了,运行PHP的WEB服务器对这里有写权限。就像/templates_c/目录一样,也可以被忽略。(同/templates_c/目录的翻译)

/web/www.example.com/smarty/guestbook/libs/

/libs/ 我们将把程序的主要脚本文件存放这里。

/web/www.example.com/smarty/guestbook/libs/guestbook_setup.php

guestbook_setup.php 我们在该脚本文件中存放一些程序的初始化信息。

/web/www.example.com/smarty/guestbook/libs/guestbook.lib.php

guestbook.lib.php 我们在该脚本文件中存放大部分程序的实现逻辑。

/web/www.example.com/smarty/guestbook/libs/sql.lib.php

sql.lib.php 我们在该脚本文件中存放程序的数据库访问逻辑。

Smarty程序应用范例:留言簿(Guestbook)第二节

我们将从“index.php”脚本文件开始留言簿程序的编写历程,它将直接被WEB浏览器访问,所以说是我们这个程序的“大门”。

/web/www.example.com/docs/guestbook/index.php

<PRE><?php/*** Project: Guestbook Sample Smarty Application* Author: Monte Ohrt <monte [AT] ohrt [DOT] com>* Date: March 14th, 2005* File: index.php* Version: 1.0*/// define our application directorydefine('GUESTBOOK_DIR', '/web/www.example.com/smarty/guestbook/');// define smarty lib directorydefine('SMARTY_DIR', '/usr/local/lib/php/Smarty/');// include the setup scriptinclude(GUESTBOOK_DIR . 'libs/guestbook_setup.php');// create guestbook object$guestbook =& new Guestbook;// set the current action$_action = isset($_REQUEST['action']) ? $_R</p><p> EQUEST['action'] : 'view';switch($_action) case 'add': // adding a guestbook entry $guestbook->displayForm(); break; case 'submit' // submitting a guestbook entry $guestbook->mungeFormData($_POST); if($guestbook->isValidForm($_POST)) { $guestbook->addEntry($_POST); $guestbook->displayBook($guestbook->getEntries()); } else { $guestbook->displayForm($_POST); } break; case 'view': default: // viewing the guestbook $guestbook->displayBook($guestbook->getEntries()); break; }?></PRE>

“index.php”扮演着整个程序的控制者这个角色。它掌控着所有来自WEB浏览器的访问请求,并指导程序发生些什么相应的动作。它定义了程序目录,包括程序的安装脚本,以及根据全局变量$_REQUEST所定义的action值,并指导程序做出相应的动作。

这里有三个基本的动作设置(actions):

“添加”当用户往留言簿里写内容时;

“提交”当用户写完内容提交时;

“浏览”当用户浏览留言簿时。

缺省情况是“浏览”。

/web/www.example.com/smarty/guestbook/libs/guestbook_setup.php

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:黄冈网站建设 http://huanggang.45qun.com

  • 上一篇:C++与Python互通信纯干货!
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 武汉味美食家餐饮管理有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100