# 使用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
- 原子操作