php Zend中搭建MVC

在我们装好Zend框架后,还有一些环境的问题没有配置。我们在之前有说过MVC模式,可以在Zend框架中得到使用,是其中不少缺少的组成部分。本篇先简单的为大家介绍一下MVC模式,在理解了概念的基础上,进一步分析在php Zend中搭建MVC的详细步骤,下面我们来看基础的环境配置方法。

一、MVC模式说明

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

控制器Controller:对请求进行处理,负责请求转发;Servlet

视图View:界面设计人员进行图形界面设计;JSP

模型Model:程序编写程序应用的功能(实现算法等等)、数据库管理;Java对象

二、搭建MVC步骤

1. 在根目录下面创建 public ,并在 public 下创建 index.php引导文件。代码如下:

set_include_path("../library".PATH_SEPARATOR.get_include_path());//设定路径
require_once'Zend/Application.php';//调用zend类库
$application=newZend_Application('project','../application/configs/application.ini');
$application->bootstrap()->run();

2. 在 public 目录下创建URL重写文件 .htaccess,代码如下:

RewriteEngineon
RewriteRule!\.(js|ico|gif|jpg|png|css)$index.php

将不能映射到磁盘上的文件都重定向至 index.php

3.Zend Framework 配置信息保存在扩展名为.ini或者xml文件下。在application 目录下创建 configs/application.ini 文件,代码如下:

[project]
bootstrap.path="../application/Bootstrap.php"//启动文件路径
bootstrap.class="Bootstrap"//启动类名称
phpSettings.display_errors=1//错误类型
phpSettings.date.timezone="Asia/Shanghai"//时间区域
resources.frontController.controllerDirectory="../application/controllers"//控制器路径

4. 步骤3使用application.ini指定了启动类Bootstrap,本步在application目录下编写启动类,代码如下:

classBootstrapextendsZend_Application_Bootstrap_Bootstrap{
publicfunction__initAutoload(){
$moduleAutoloader=newZend_Application_Module_Autoloader(array('namespace'=>'','basePath'=>'application'));

return$moduleAutoloader;

}

}

5. 完成以上动作即可创建控制器。以下在applicatoin/controllers 目录下创建IndexController控制器:

classindexControllerextendsZend_Controller_Action{
publicfunctionindexAction(){
$this->view->assign("title",'ZendFramework环境初始搭建');

$this->view->assign("body",'欢迎您搭建zendframework成功');

}

}

6.创建控制器后,还需要创建视图,视图文件位置在views/scripts 文件夹下。scripts文件夹下需要创建与控制器相对应的目录,以下是创建 index/index.phtml 视图代码(其中目录index对应indexController控制器):

<?phpecho$this->escape($this->title);?>
<?phpecho$this->escape($this->body);?>
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容