# 使用URL
Nette \ Http \ Url类根据RFC 3986封装任何URL,并允许轻松操作它们的部分。
以下方案涵盖URL的各个部分:
~~~
scheme user password host port basePath relativeUrl
| | | | | | |
/--\ /--\ /------\ /-------\ /--\/--\/----------------------------\
http://john:x0y17575@nette.org:8042/en/manual.php?name=param#fragment
\__________________________/\____________/^\________/^\______/
| | | |
authority path query fragment
~~~
用法是非常直观的:
~~~
use Nette\Http\Url;
$url = new Url('http://nette.org/en/documentation?action=history#footer');
echo $url->absoluteUrl; // or directly echo $url; returns full URL
echo $url->scheme; // http
echo $url->authority; // nette.org
echo $url->hostUrl; // http://nette.org
echo $url->path; // /en/documentation
echo $url->query; // action=history
echo $url->fragment; // footer
~~~
除了http URL方案之外,还可以使用其他方式,例如https,file或ftp。
URL的一部分当然可以更改。
~~~
$url = new Url('http://nette.org/en/documentation?action=history#footer');
$url->path = '/';
$url->appendQuery('page=1');
echo $url; // http://nette.org/?action=history&page=1#footer
~~~
canonicalize()方法将URL转换为其规范形式。
## Nette\Http\UrlScript
UrlScript类是Url的后代。 它指示URL的哪个部分是当前运行脚本的路径。 它在Nette \ Http \ Request类中使用。
~~~
http://nette.org/admin/script.php/pathinfo/?name=param#fragment
\_______________/\________/
| |
scriptPath pathInfo
~~~
- Nette简介
- 快速开始
- 入门
- 主页
- 显示文章详细页
- 文章评论
- 创建和编辑帖子
- 权限验证
- 程序员指南
- MVC应用程序和控制器
- URL路由
- Tracy - PHP调试器
- 调试器扩展
- 增强PHP语言
- HTTP请求和响应
- 数据库
- 数据库:ActiveRow
- 数据库和表
- Sessions
- 用户授权和权限
- 配置
- 依赖注入
- 获取依赖关系
- DI容器扩展
- 组件
- 字符串处理
- 数组处理
- HTML元素
- 使用URL
- 表单
- 验证器
- 模板
- AJAX & Snippets
- 发送电子邮件
- 图像操作
- 缓存
- 本土化
- Nette Tester - 单元测试
- 与Travis CI的持续集成
- 分页
- 自动加载
- 文件搜索:Finder
- 原子操作