1. 安装

从 Zend Framework 的网页上下载最新版本。解压后,把整个目录拷贝到一个理想的地方,比如:/php/library/Zend。

打开 php.ini 文件,确认包含 Zend 目录的路径在 include_path 里定义了。以上面的配置为例,php.ini 中应有类似下面的条目:

include_path = ".:/php/library"

注意:Windows 下的写法略有不同,应该类似于 include_path = ".;C:\php\library"

初始的安装就这么简单。Zend Framework 的一些组件会用到 php 的一些附加模块。具体的要求请参考这里。

2. 项目的目录结构

如果你的项目不包含多个模块,可以用下面的目录结构:

application/controllers/IndexController.phpmodels/views/scripts/index/index.phtmlhelpers/filters/html/.htaccessindex.php如果你的项目要包含多个模块(比如:博客,社区,等等),那么建议使用模块化的目录结构。

3. 网页的根目录

网页的根目录应指向上述目录结构中的 html 文件夹。

4. 重写规则

编辑 html/.htaccess 文件,加入下面两行:

RewriteEngine onRewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php注意:上述是针对 apache 的配置。如果是其他的服务器,请参考这里。

5. 引导程序

编辑 html/index.php 文件,敲入下面代码:

<?phprequire_once'Zend/Controller/Front.php';$rootPath = dirname(dirname(__FILE__));Zend_Controller_Front::run($rootPath .'/application/controllers');上面代码的作用是实例化前端控制器(Front Controller)并运行它。6. 默认的动作控制器(Action Controller)

Zend Framework 的默认路由规则是 http://域名/控制器名/动作(方法)名。例如:

会被解析到名为 User 的控制器以及该控制器中定义的 show 方法。如果该方法没有定义,则默认转到 index 方法。

注意:在代码中,控制器名的后面要加上 Controller,而动作名的后面要加上 Action。

编辑 application/controllers/IndexController.php 文件,输入:

<?php
/** Zend_Controller_Action */
require_once'Zend/Controller/Action.php';classIndexControllerextendsZend_Controller_Action
{public functionindexAction(){}
}

7. 视图(页面)脚本

编辑 application/views/scripts/index/index.phtml,输入:

<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"" http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My first Zend Framework App</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>

8. 错误控制器

默认情况下,Zend Framework 的错误处理插件是被注册的。它需要一个错误控制器来处理错误。缺省的错误控制处理被假定为 ErrorController 以及其中定义的 errorAction。

编辑 application/controllers/ErrorController.php,输入:

<?php
/** Zend_Controller_Action */
require_once'Zend/Controller/Action.php';classErrorControllerextendsZend_Controller_Action
{public functionerrorAction(){}
}

下面是对应的视图脚本。编辑 application/views/scripts/error/error.phtml,输入:

<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"" http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Error</title></head><body><h1>An error occurred</h1><p>An error occurred; please try again later.</p></body></html>

9. 运行

好,现在运行网站。在浏览器中键入下面三个地址,得到的结果应该是一样的——就是最最常见的“Hello, World!“。

http://域名
http://域名/index
http://域名/index/index
如果是这样,那么恭喜你!

转载于:https://www.cnblogs.com/huidaoli/p/3214753.html

Zend Framework 入门(1)—快速上手相关推荐

  1. php zend framework 教程,Zend Framework入门教程之Zend_Session会话操作详解

    本文实例讲述了Zend Framework入门教程之Zend_Session会话操作.分享给大家供大家参考,具体如下: 会话命名空间 实现会话 代码: require_once "Zend/ ...

  2. Zend Framework 入门教程(简体中文版)

    Zend Framework 入门教程(简体中文版) Getting Started With the Zend Framework Author:Rob Allen, www.akrabat.com ...

  3. php zend框架入门,Zend Framework 入门——快速上手

    1. 安装 从 Zend Framework 的网页上下载最新版本.解压后,把整个目录拷贝到一个理想的地方,比如:/php/library/Zend. 打开 php.ini 文件,确认包含 Zend ...

  4. Zend Framework入门教程

    转战了各个Blog平台,发现还是落户到csdn上吧,以后吐槽在新浪,发长文在csdn,整理链接在Baidu Hi 在大四的时候接下的实验室网站,网站是上三届的吴师兄写的,主要采用的是LAMP,其中PH ...

  5. RabbitMQ快速入门 | 帮助快速上手

    ♨️本篇文章记录的为RabbitMQ知识中快速入门相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬

  6. Zend Framework 入门教程

    中文翻译见: http://phpeye.com/articles/tutorial.html 同时还有中文Zend Php Framework Zend Framework 中文版手册在线浏览 A ...

  7. DvaJS 入门, 快速上手Dva

    为什么要使用Dva? React 没有解决的问题 React 本身只是一个 DOM 的抽象层,使用组件构建虚拟 DOM. 如果开发大应用,还需要解决一个问题. 通信:组件之间如何通信? 数据流:数据如 ...

  8. SOM网络算法分析与应用(适合入门、快速上手)

    目录 一. SOM网络的生物学基础 二.SOM网络的拓扑结构 三.SOM网络的权值调整 四.SOM网络的实现 4.1 创建函数NEWSOM 4.2 传递函数 4.3 距离函数 4.4 权值函数negd ...

  9. Gatling基础入门,快速上手

    一.准备工作 二.安装Scala插件 三.下载Gatling包 四.运行官方的Demo测试用例 一.准备工作 (1)Java JDK (2)IntelliJ IDEA (网上教程很多,不再赘述) 二. ...

最新文章

  1. python表达匹配_python 中文正则表达匹配
  2. vim_编码配置文件_utf8乱码解决
  3. Python基础教程:list和tuple
  4. 轨迹规划概念总结——Dubins曲线
  5. impdp导入mysql_Oracle数据库的impdp导入操作以及dba_directories使用方法
  6. java-Mysql学生管理系统
  7. 二叉树平衡因子应用举例
  8. Java 18 就要来了,新功能很多!
  9. MySQL的用户授权
  10. python3 txt 读写_Python3 读写txt文件
  11. oracle刷同义词报错,oracle 同义词
  12. C#轻量级 restful http 服务实践初探
  13. 金蝶K3 SQL报表系列-委外未勾稽明细表
  14. 数组中重复的元素(剑指Offe.03)
  15. CentOS8中如何支持TL-WDN7200H无线USB网卡?
  16. matlab-行相加、列相加
  17. Imatest图像处理软件 Imatest Master
  18. nmn吃第一天有什么感觉,吃完nmn的反应,一点点体会
  19. 中国计算机科学家陈什元,我国著名计算机科学家、西安交通大学郑守淇教授逝世...
  20. 【buildroot】buildroot的相关make命令

热门文章

  1. php相差天数,php获取给定日期相差天数
  2. vector用法 java_java.util.vector中的vector的详细用法
  3. python等待用户输入_Python等待时间,等待用户输入
  4. Python字符串expandtabs()
  5. Android百分比布局支持和垂直TextView
  6. TortoiseSVN中的“文件和文件夹过滤”在VS项目中的使用
  7. 做前端工程师,就业方向有哪些?你知道吗
  8. 用SPFA判断是否存在负环
  9. 如何知道PostgreSQL数据库下每个数据库所对应的目录
  10. Linux监控平台(zabbix监控介绍,安装zabbix,解决忘记admin密码)