6. Zend_Uri
来源:互联网 发布:淘宝网李锦记生抽价格 编辑:程序博客网 时间:2024/05/16 12:27
35.1.1. 概述
35.1.2. 新建一个URI
如果仅有一个模式被传递给Zend_Uri::factory(),Zend_Uri将从头构造一个新的URI.
例 35.1. 使用Zend_Uri::factory()创建一个新的URI
<?phprequire_once 'Zend/Uri.php';// 重新创建一个新的URI,仅传递模式.$uri = Zend_Uri::factory('http');// $uri instanceof Zend_Uri_Http?>
从头创建一个的新的URI,仅仅需要传递模式给Zend_Uri::factory()[17] . 如果传递了一个未支持的模式,Zend_Uri_Exception异常将被抛出.
如果传递的模式或者URI被支持,Zend_Uri::factory()返回一个它本身的 适应于特定模式(scheme)的 子类
35.1.3. 操作现有的URI
要操作一个现有的URL,把整个URI传递给Zend_Uri::factory().
例 35.2. 使用Zend_Uri::factory()操作一个现有的URI
<?phprequire_once 'Zend/Uri.php';// 操作一个现有的URI,把他传入到Zend_Uri::factory().$uri = Zend_Uri::factory('http://www.zend.com');// $uri instanceof Zend_Uri_Http?>
这个URI将被解析并且验证.如果发现它是无效的,Zend_Uri_Exception异常立即抛出.否则Zend_Uri::factory() 返回一个它本身的 适应于特定模式(scheme)的 子类
35.1.4. URI 验证
Zend_Uri::check() 函数仅在需要验证一个现有的URI时使用.
例 35.3. 使用Zend_Uri::check()进行URI 验证
<?phprequire_once 'Zend/Uri.php';// 验证一个给定的URI是否是格式良好的$valid = Zend_Uri::check('http://uri.in.question');// 对于一个有效的URI,$valid为TRUE,否则为FALSE?>
Zend_Uri::check() 返回布尔值,它比使用Zend_Uri::factory()更便捷,并且能够捕获异常.
35.1.5. 公共实例方法
每个Zend_Uri子类的实例(如:Zend_Uri_Http)有多个 有用的 处理任何类型的 URI的实例方法.
35.1.5.1. 取得URI的Schema
URI模式是冒号之前的部分.例如http://www.zend.com的模式是http.
例 35.4. 从Zend_Uri_* 对象取得模式
<?phprequire_once 'Zend/Uri.php';$uri = Zend_Uri::factory('http://www.zend.com');$scheme = $uri->getScheme(); // "http"?>
getScheme()实例方法仅返回URI对象的模式部分.
35.1.5.2. 取得整个URI
例 35.5. 从一个Zend_Uri_* 对象取得整个URI
<?phprequire_once 'Zend/Uri.php';$uri = Zend_Uri::factory('http://www.zend.com');echo $uri->getUri(); // "http://www.zend.com"?>
getUri()方法返回整个URI的字符串标识.
35.1.5.3. 验证URI
Zend_Uri::factory()总是验证传递给它的任何URI,如果给定的URI被认为是无效的,它将不会实例化一个新的Zend_Uri 子类.但是 Zend_Uri子类为 一个新URI 或者 一个现有的有效的URL 被实例化后,在操作后 该URI可能会变得无效.
例 35.6. 验证一个 Zend_Uri_* 对象
valid()实例方法检查URI对象是否仍是有效的.
<?phprequire_once 'Zend/Uri.php';$uri = Zend_Uri::factory('http://www.zend.com');$isValid = $uri->valid(); // TRUE?>
[17] 在撰写本文时,Zend_Uri仅支持HTTP和HTTPS模式.
- 6. Zend_Uri
- 6.
- 6.timeSetEvent
- 6. Language
- 6. 动名词
- 6.light
- 6.properties
- 6.数组
- 6.外键
- 6.多线程
- 6. 图
- 6.互斥量
- 6.Const
- 6.函数
- 6. 函数
- 6. 逻辑运算
- 6.DynamicProgramming
- 6. 模块
- 【IOS开发】 XMPP 简介和 XMPP 框架导入工程文件
- iOS crash dSYM
- 使用Gradle构建Android项目
- 蓝桥杯~快速排列
- MongoDB基本使用
- 6. Zend_Uri
- 【机器学习笔记2】Linear Regression总结
- 进程所用内存(包括页表、vma、映射内存)的释放过程 (基于linux2.6.11.12)
- openfire + fastpath + webchat + spark 搭建在线客服系统
- nmap常见操作
- 灰度图的色标反转问题-matlab
- 项目中的一个工具类,有点乱。
- 阿里腾讯开撕,钉钉的广告打到腾讯的地盘了
- 【机器学习笔记3】Stanford公开课Exercise 2——Linear Regression