想理解zend框架的工作原理,首先就需理解什么是MVC程序设计方法.
模型(model):定义了一个应用程序所要表示的过程的有关规则
视图(view):负责对模型返回的数据格式化,并提供给用户
控制器(controller):负责确定应用程序如何根据用户的操作,调用适当的模型和视图做出响应。
假设有一个这样的场景,用户需要登录某个网站,mvc是如何工作的:
1).用户输入登录名和密码,然后用户按enter键提交了这个表单。
2).控制器做出响应,识别适当的动作,收集输入的登录名和密码,并把数据提供给模型处理。
3).模型执行负责判断用户名输入的登录名和密码是否为本网站用户,并把结果值返回给控制器。
4).控制器调用适当视图,并传入相应的值。视图把成功登录的结果显示给用户。
zend框架就是就是这样工作的,下载zend框架安装http://framework.zend.com/download吧。实践体验它是否能助你一臂之力,大幅提升我们的开发效率。
解压 下载的zend包 到本地您熟悉的目录,然后复制library目录下的zend文件夹的内容,到php.ini文件中指定的include_path的目录.
接着配置伪静态.htaccess文件在apache服务器中可用:
1、检查apache中httpd.conf的mod_rewrite模块是否启用;
2、更改网站所在httpd.conf文件中的小节AllowOverride的配置为all
3、创建伪静态.htaccess文件
1
2
|
RewriteEngine on
RewriteRule !/.(js|ico|gif|jpg|png|css)$ index.php
|
伪静态.htaccess文件可以做些什么事呢?也许前端开发最关注的是防止网站图片,js,等静态资源被盗链。它可以帮助我们实现。请参考一下链接:
Apache下htaccess的配置使用详解
.htaccess常用配置指令
主要分为4个步骤:
1. 创建zend特有的项目目录,
2. 创建前端控制器,
3. 创建控制器,
4. 创建视图,
1. zend项目目录,项目名称为w3cnotes。命令行创建为:
1
|
> zf create project w3cnotes
|
也可以手动创建目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
w3cnotes
|--.htaccess
|--index.php[前端控制器]
|--application
| |--modules
| |--
default
| |--controllers
| |--IndexController.php[具体页面控制器]
| |--views
| |--scripts
| |--header.phtml
| |--footer.phtml
| |--index
| |--index.phtml[具体页面视图]
|
2. 前端控制器index.php,参考资料http://framework.zend.com/manual/zh/zend.controller.html
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php
require_once
(
'Zend/Controller/Front.php'
);
$frontController
= Zend_Controller_Front::getInstance();
$frontController
->addModuleDirectory(
'./application/modules'
);
$frontController
->throwExceptions(true);
$frontController
->dispatch();
?>
|
3. 控制器IndexController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php
require_once
(
'Zend/Controller/Action.php'
);
class
IndexController
extends
Zend_Controller_Action
{
public
function
indexAction()
{
$this
->view->title =
"w3c notes: web 标准standards, web 服务service,web 重用reuse"
;
}
}
?>
|
4. 用到的所有视图
1
2
3
4
5
6
7
8
9
|
//header.phtml
<!DOCTYPE html>
<
html
lang
=
"zh"
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=utf-8"
>
<
title
><?
php
echo $this->title ?></
title
>
</
head
>
<
body
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//index.phtml
<?
php
echo $this->render('header.phtml');
?>
<
div
id
=
"header"
>w3cnotes欢迎您来访问!</
div
>
<
p
>
你想知道什么,就知道什么!
不想知道什么,就嘻嘻!
</
p
>
<?
php
echo $this->render('footer.phtml');
?>
|
1
2
3
4
|
//footer.phtml
copyright www.w3cnotes.com 2010
</
body
>
</
html
>
|
这样就可以输入您的网站根目录查看页面。框架中的其他组件的使用就需要以后不断了解,请查看zend framework手册