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 相关文章推荐
让你的PHP同时支持GIF、png、JPEG
Oct 09 PHP
刚才在简化php的库,结果发现很多东西
Dec 31 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
php常用正则函数实例小结
Dec 29 PHP
Redis构建分布式锁
Mar 28 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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 和 HTML
2006/10/09 PHP
谈谈PHP语法(3)
2006/10/09 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
YUI模块开发原理详解
2013/11/18 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
python爬取内容存入Excel实例
2019/02/20 Python
Puppeteer使用示例详解
2019/06/20 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python -v 报错问题的解决方法
2020/09/15 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
倩碧英国官网:Clinique英国
2018/08/10 全球购物
2014年精神文明工作总结
2014/12/23 职场文书
黑白记忆观后感
2015/06/18 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
使用scrapy实现增量式爬取方式
2022/06/21 Python