Zend Framework入门应用实例详解


Posted in PHP onDecember 11, 2016

本文实例讲述了Zend Framework入门应用。分享给大家供大家参考,具体如下:

.htaccess文件

.htaccess文件用来实现URL重置,即当用户访问某资源时,会将其重新定位到指定的文件下。

代码示例:

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

其中,行1表示重置引擎打开,行2表示当访问除js、ico、gif、jpg、png、css以外的文件时,

都将被重置到index.php文件下。

注:

该重写规则只能用于Apache服务器,需要用到Apache的重定向模块。若想有效,要开启功能。确认Apache的httpd.conf配置文件下的

#LoadModule rewrite_module modules/mod_rewrite.so

开启,也就是把#号去除。

自动生成目录

下载的zend解压后,会有两个核心目录,一个是library,一个是bin。在bin下面有个zf.bat文件可以用来智能生成Zend Framework目录结构。

但是使用之前必须做一定的配置,也就是环境变量的配置。这样才能直接调用其命令。否则无法调用生成命令。

一、配置环境变量

配置过程如图所示:

Zend Framework入门应用实例详解

添加完path之后,就可以直接在“小黑框”,也就是CMD中直接调用指令了。这里配置了两个,一个是zend下的bin目录,一个是xampp下的php目录。因为指令需要用到这两个目录下的一些文件。

二、测试是否成功

Zend Framework入门应用实例详解

出现上图的信息,说明环境变量配置成功了。

三、执行生成指令

zf create project zfdemo

Zend Framework入门应用实例详解

这个时候,就会生成一个工程目录,如上面的提示所示。在C盘下会有一个目录zfdemo。

Zend Framework入门应用实例详解

四、拷贝目录中的信息到项目文件夹下并测试

这里的入口文件在public下面

所以在浏览器中输入地址"http://localhost/zendDemo/public/"

注:项目的名称为zendDemo

如果不出差错的话,就会看到成功的执行结果。如下图所示:

Zend Framework入门应用实例详解

注:因为我重写了默认的视图文件内容,看到的就是“世界你好”这四个字。

改造

一、创建自己的控制器

在application/controllers/目录下创建一个名为SelfController.php的控制器,并输入以下代码。

<?php
class SelfController extends Zend_Controller_Action{
  public function selfAction(){
    //self方法
  }
  public function myAction(){
    //my方法
  }
}

上述代码定义了一个SelfController类,并在该类中定义了selfAction()方法和myAction()方法。

二、创建相应的视图文件

在application/views/scripts/self/目录下创建self.phtml文件,代码如下:

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  <title>self方法的显示视图</title>
</head>
<body>
  <h1>self方法的显示视图</h1>
</body>
</html>

继续在同一目录下创建my.phtml文件,其代码如下:

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  <title>my方法的显示视图</title>
</head>
<body>
  <h1>my方法的显示视图</h1>
</body>
</html>

三、测试与执行

应该先理解Zend Framework是如何处理HTTP请求的。默认情况下,URL的第一个部分会映射到一个控制器,第二个部分则映射到控制器类中的Action方法中。

执行结果如下图所示:

Zend Framework入门应用实例详解

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

PHP 相关文章推荐
实用函数4
Nov 08 PHP
php 常用类整理
Dec 23 PHP
php 判断数组是几维数组
Mar 20 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
php制作简单模版引擎
Apr 07 PHP
php PDO异常处理详解
Nov 20 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
PHP filesize函数用法浅析
Feb 15 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 PHP
Zend Framework前端控制器用法示例
Dec 11 #PHP
Zend Framework路由器用法实例详解
Dec 11 #PHP
Zend Framework分发器用法示例
Dec 11 #PHP
PHP与SQL语句常用大全
Dec 10 #PHP
PHP中SQL查询语句的id=%d解释(推荐)
Dec 10 #PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 #PHP
PHP页面跳转实现延时跳转的方法
Dec 10 #PHP
You might like
PHP仿微信发红包领红包效果
2016/10/30 PHP
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
python获取当前日期和时间的方法
2015/04/30 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
Python中super函数的用法
2017/11/17 Python
Python中property函数用法实例分析
2018/06/04 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
GC是什么?为什么要有GC?
2013/12/08 面试题
中考冲刺决心书
2014/03/11 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
学校捐书活动总结
2015/05/08 职场文书
小王子读书笔记
2015/06/29 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
MySQL优化之慢日志查询
2022/06/10 MySQL