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 相关文章推荐
phpmyadmin操作流程
Oct 09 PHP
程序员编程十条戒律
Jul 09 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
配置php网页显示各种语法错误
Sep 23 PHP
php中session退出登陆问题
Feb 27 PHP
PHP微框架Dispatch简介
Jun 12 PHP
php中使用session防止用户非法登录后台的方法
Jan 27 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
php操作redis数据库常见方法实例总结
Feb 20 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桌面中心(三) 修改数据库
2007/03/11 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
js函数内变量的作用域分析
2015/01/12 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
python多线程操作实例
2014/11/21 Python
详解Python验证码识别
2016/01/25 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
在python image 中实现安装中文字体
2020/05/16 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
大学生应聘求职信
2014/05/26 职场文书
专题组织生活会方案
2014/06/15 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
Python实战之实现康威生命游戏
2021/04/26 Python
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS
Redis+AOP+自定义注解实现限流
2022/06/28 Redis