位置: 编程技术 - 正文

Zend Framework教程之Application和Bootstrap用法详解(framework7教程)

编辑:rootadmin

推荐整理分享Zend Framework教程之Application和Bootstrap用法详解(framework7教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:zend framework手册,zend framework手册,framework4.0怎么打开,zend framework手册,zendstudio怎么创建php项目,zendframework3中文手册,framework怎么用,zendframework3中文手册,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了Zend Framework教程之Application和Bootstrap用法。分享给大家供大家参考,具体如下:

在一个MVC应用程序中,我们需要初始化建立数据库链接,配置视图和视图助手,配置布局,注册相关插件,注册action 助手等等,这些配置和准备工作我们都需要一一完成。有时候可能有一些初始化操作需要,但是在有些情况下这些初始化可能不需要。通过Zend_Application不仅仅可以完成这些操作,而且可以让这些配置和初始化工作更统一有序,重用性更高。

Zend_Application使用可以细分成三种:

Zend_Application:加载PHP环境,包括include_paths和自动加载,并实例化引导类。

Zend_Application_Bootstrap:提供引导类的接口。

Zend_Application_Bootstrap_Bootstrap完成大多数引导需要提供的通用功能,包括依赖性检查和按需加载引导资源。

Zend_Application_Resource提供资源按需加载功能

开发人员可以根据需要继承Zend_Application_Bootstrap_Bootstrap或实现Zend_Application_Bootstrap_Bootstrapper接口。在入口文件(例如,public/index.php)加载Zend_Application,并根据引导选项和当前环境配置实例化。

引导选项包括指定的引导类文件和引导类路径,选项具体如下:

所需要的include_paths

自动加载功能额外加载注册的命名空间

php.ini初始化设置

指定bootstrap类名,如果不是"Bootstrap"

资源的前缀键值对键表示资源前缀名称

资源的类名或者别名

附加加载的配置文件路径

附加的配置选项

选项可以是一个数组,或者Zend_Config对象,或者是指定位置的配置文件

引导程序

Zend_Application的第二个功能就是引导应用,Bootstraps 必须实现Zend_Application_Bootstrap_Bootstrapper接口, 具体接口API如下:

api主要提供了环境配置,获取引导加载的资源,以及引导程序

你可以实现接口或者继承Zend_Application_Bootstrap_BootstrapAbstract,或者Zend_Application_Bootstrap_Bootstrap.

资源方法

实现Zend_Application_Bootstrap_BootstrapAbstract接口的资源方法必须遵循如下规则. 方法类型是protected,方法的前缀必须是_init will开头.

如果要加载使用一个资源方法,在bootstrap()中添加资源名称即可,资源名称是资源方法去掉_init前缀。

如果要加载使用多个资源方法,可以通过数组指定。

例如 bootstrap class:

只加载使用_initFoo() :

加载使用 _initFoo() and _initBar() :

加载使用全部资源方法,使用无参的bootstrap():

新建first_web项目

root@coder-T-M:/mydev_src/zend_framework_learn/www# tree first_web/first_web/├── application│ ├── Bootstrap.php│ ├── configs│ │ └── application.ini│ ├── controllers│ │ ├── ErrorController.php│ │ └── IndexController.php│ ├── models│ └── views│ ├── helpers│ └── scripts│ ├── error│ │ └── error.phtml│ └── index│ └── index.phtml├── docs│ └── README.txt├── library├── public│ └── index.php└── tests ├── application │ └── controllers │ └── IndexControllerTest.php ├── bootstrap.php ├── library └── phpunit.xml directories, files

较新版本的zend framework引入了Zend_Application和Bootstrap。Zend_Application 提供了一个可重用资源的引导,通用和模块化的引导类和依赖检查。 同时默认负责设置 PHP 环境变量和自动加载功能。

默认新建项目后,会给出如下的几个文件:

Zend Framework教程之Application和Bootstrap用法详解(framework7教程)

1.项目的Bootstrap

first_web/├── application│ ├── Bootstrap.php

具体代码如下:

2.配置文件

│ ├── configs│ │ └── application.ini

具体代码如下:

3.项目入口文件

├── public│ └── index.php

以上代码就是基本的使用Zend_Application方式,完成了环境变量的初始化,加载配置文件,初始化环境,加载模块,完成web应用程序的引导功能。

资源插件

资源插件只需要实现Zend_Application_Resource_Resource,或者,更简单的是,继承Zend_Application_Resource_ResourceAbstract。接口如下:

例如

加载使用资源插件

我了提供资源的重用性,可以将资源方法定义为资源插件。。

为了让bootstrap能够识别资源插件,定义资源插件时,需要实现Zend_Application_Bootstrap_ResourceBootstrapper. 接口定义了查找插件,注册插件和加载插件的api:

采用资源插件,不仅可以让资源可以重复利用,同时让bootstrap更简洁,如果要修改,新增资源也无需修改你的bootstrap。

通过实现Zend_Application_Bootstrap_BootstrapAbstract (被 Zend_Application_Bootstrap_Bootstrap 继承) ,才可以使用定义的资源插件

通过将指定的选项传递到application object and/or bootstrap,来注册使用资源插件。这些选项可能会从一个配置文件,或通过手动指定。规则是选项&#;&#;必须是键值对,键代表资源名称。资源名称,是资源插件类的类前缀。例如,Zend框架自带的资源类前缀“Zend_Application_Resource_”;任何以下,这都是资源的名称。例如,

"FrontController"资源是个特例。他的选项比较特殊。

无论是使用自己的写的资源插件还是使用第三方的资源插件。你必须保证bootstrap能找到他们,bootstrap 内部通过 Zend_Loader_PluginLoader可以让我们只需要指定资源插件的类前缀,值为资源类的类路径便可以轻松注册资源插件。

例如,如果编写的资源插件存放在APPLICATION_PATH/resources/ 下,类前缀为My_Resource. 可以使用如下方法注册加载:

在应用程序中比可以使用指定目录下的资源。

和资源方法类似,通过使用 the bootstrap() 方法可以加载资源插件。加载单一,多个,全部的资源插件的配置方式也类似.

例如:

资源注册表

为了避免资源的重复注册,导致不必要的浪费Zend_Application_Bootstrap_BootstrapAbstract 提供了一个本地注册表对象存储这些资源对象.当你想要存放一个资源的时候,只需要在方法中返回这个资源即可。

为了灵活性,注册表是作为一个内部“容器”存在的。只要是对象都可以存入到容器中。资源名称对应为容器的属性。默认情况下,可以通过Zend_Registry获取实例使用,也可以自定义其他对象。 setContainer() and getContainer() 方法可用于操纵容器本身。getResource($resource) 可用于获取一个指定资源。hasResource($resource) 可以检查资源是否已经注册存在

例如,注册一个view资源:

资源的相关操作:

请注意:注册表容器是不是全局的。这意味着你需要通过访问的bootstrap来获取资源。 Zend_Application_Bootstrap_Bootstrap提供了 run() , 执行了 run() 之后,它会注册为前端控制器参数的“bootstrap”,通过他可以获取路由器,分发器,插件和动作控制器。

具体使用方法:

为了防止重复注册加载资源方法和插件或一些资源可能依赖于其他资源。为了解决这两个问题,Zend_Application_Bootstrap_BootstrapAbstract提供了一个简单的依赖性跟踪机制。

如前所述,所有的资源 - 无论是方法或插件 - 是通过 bootstrap($resource)加载运行的,其中 $resource是资源的名称,或者资源名称数组,或者为空,为空表示加载运行所有资源。

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

PHP批量去除BOM头内容信息代码 什么是bom头?在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头

PHP+shell脚本操作Memcached和Apache Status的实例分享 memcached进程启动及监控1.memcached_inc.sh设置路径,端口等讯息。#!/bin/sh#configincludeHOST=$(hostname)SITE="mysite"PORT=MEMCACHED_PID_FILE="/tmp/memcached.pid"MEMCACHED_DAEMON_P

PHP实现文件上传与下载实例与总结 一、上传原理与配置1.1原理将客户端文件上传到服务器端,再将服务器端的文件(临时文件)移动到指定目录即可。1.2客户端配置所需:表单页面(选

标签: framework7教程

本文链接地址:https://www.jiuchutong.com/biancheng/290946.html 转载请保留说明!

上一篇:Zend Framework教程之配置文件application.ini解析(framework4.0怎么打开)

下一篇:PHP批量去除BOM头内容信息代码(php去除指定字符)

  • 非金银首饰以旧换新增值税
  • 产值利税率是什么
  • 注册会计师考试时间2023
  • 资产处置损益和固定资产清理的区别
  • 消防管理费用收取标准
  • 特殊性税务处理所得税怎么算
  • 法人独资企业怎么样
  • 增值税发票注明金额是含税还是不含税
  • 两家公司原材料能否借用
  • 发票报销哪些能用专票
  • 别人的项目挂靠我公司怎么做账?
  • 个人抬头发票能开专票吗
  • 2018年2月1日以后出口发票如何开具
  • 出口退税代理费用大概多少
  • 企业所得税一般是多少
  • 目前建筑里面税金总共包括几部分
  • 企业季度所得税资产总额怎么填
  • 小规模纳税人和一般纳税人哪个好
  • 研发费用报表列报
  • 进的货没有入库怎么处理
  • 供应商开免税的发票,为何还要收3个点税金?
  • 个人取得的股票转让所得暂不征收个人所得税
  • 增值税影不影响企业利润
  • 无形资产的入账价值包括什么
  • 发票登记薄的样式是什么
  • 关于临时工工资标准的规定
  • win10一键释放内存
  • 加班餐费税前扣除问题
  • 代扣代缴个人所得税账务处理
  • 员工工伤一次性赔偿会计分录
  • 补缴增值税怎么做账
  • 员工食堂餐费可以税前扣除吗
  • removed.exe - removed是什么进程 有什么用
  • .ini是什么类型文件?
  • joplin使用
  • 职工福利费会计科目怎么写
  • 记账凭证和收付账簿区别
  • php验证码扭曲效果怎么做
  • 全网最新的暗号
  • ip6tables-save命令 保存ip6tables表配置
  • 质量事故发生后,有责任就所发生的质量事故
  • 建筑企业异地预缴增值税销售额含税吗
  • 商贸公司库存商品怎么做分录
  • 员工的交通费发票可以报销嘛
  • 织梦自定义字段
  • 存货的成本包括哪几项
  • 公司借给股东的钱金额较大股东可以在年底现金归还吗
  • 小规模以前年度城建税未计提
  • 季节性生产企业有哪些
  • 跨月发票税率开错了如何处理合适?
  • 小规模纳税人采用简易计税方法征收增值税
  • 超市的商品品种繁多琳琅满目
  • 商品销售企业成本包括
  • MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误
  • sql有哪些语句
  • mysql存文章的字段设置为多大?
  • innodb_flush_method取值方法(实例讲解)
  • mysql报错1091
  • ubuntu20.04 unity
  • win7 管理
  • mac怎么移动鼠标
  • 硬盘读盘慢修复
  • xp系统还原系统
  • linux系统叫啥
  • SpamSubtract.exe - SpamSubtract是什么进程
  • ims文件是什么意思
  • 如何限制网速不让孩子玩游戏
  • excel表限制
  • 如何在linux安装软件
  • nginx日志切割原理
  • selenium py
  • 批处理文件是可执行文件吗
  • 浏览器检测js代码
  • js函数总结
  • python编码有哪些规范
  • 摩托车的消费税率
  • 郑州房产契税缴纳
  • 税控盘服务费必须每年交吗为什么
  • 中山大学税务硕士
  • 固定资产原值包括哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设