首页 理论教育使用ZendFramework实现MVC

使用ZendFramework实现MVC

【摘要】:接下来将通过Zend Framework构建一个简单的MVC应用。Zend Framework使用单一入口文件,所有的请求都由入口文件进行调配。ZendFramework的核心组件为Zend_Controller_Front,在入口文件中需要对该组件进行初始化。application指定了这是一个应用,它是ZendFramework约束的一个规范,当然名称可自行设置的,但一个入口文件必须要对应一个应用。接下来在controllers目录中创建一个默认的模型,用于验证ZendFramework是否已经搭建成功。

接下来将通过Zend Framework构建一个简单的MVC应用。Zend Framework使用单一入口文件,所有的请求都由入口文件进行调配。ZendFramework的核心组件为Zend_Controller_Front,在入口文件中需要对该组件进行初始化。代码如下所示。

978-7-111-42852-7-Part02-4.jpg

上述代码中,首先使用PHP内置函数date_default_timezone_set设置运行环境的时区,这不是必需的;使用require_once引入ZendFramework核心组件(此处的zend目录并不存在于当前网站下),这是使用ZendFramework的前提,所以是必需步骤。最后使用Zend_Controller_Front静态类中的run方法初始化整个MVC架构,这时就可以使用ZendFramework构建网站应用了。

需要注意的是,在run方法中,指定了一个参数“./application/controllers”,该参数是必需的,它声明了当前入口文件对应的应用程序目录和控制器目录。application指定了这是一个应用,它是ZendFramework约束的一个规范,当然名称可自行设置的,但一个入口文件必须要对应一个应用。应用是MVC开发中比较重要的概念,通俗来讲就是一个网站,当然也可以是一个大网站中的某一功能模块。一个网站中可以有多个入口文件,但入口文件只能对应一个应用。通常情况下默认的入口文件为index.php。

application目录代表一个网站的整体,所以它的目录结构通常都是与网站相关的,比如网站的公共文件、运行日志等。典型的目录结果如图4-3所示。

上述目录中,除了controllers、models、views外其他目录都是可自定义的。接下来在controllers目录中创建一个默认的模型,用于验证ZendFramework是否已经搭建成功。默认控制器的文件名为IndexController.php,代码如下所示。

978-7-111-42852-7-Part02-5.jpg(www.chuimin.cn)

图4-3 ZendFramework项目目录结构

978-7-111-42852-7-Part02-6.jpg

978-7-111-42852-7-Part02-7.jpg

通过浏览器访问网站的根目录,如果正确显示ZendFramework的版本号即代表ZendFrameork安装正确,否则需要检查include_path目录指向。

上述代码与普通的PHP类代码并没有区别,在ZendFramework平台中任何普通的PHP类只要继承于Controller都可以作为MVC中的模型(文件名必须遵循ZendFramework命名规范)。