導入

導入 – URI_Template について

概要

URI テンプレートは、変数が埋め込まれた文字列です。 この変数を置換することで、文字列が URI に変換されます。

URI テンプレートについての詳細な情報は、以下の場所で得られます。

簡単に言うと、誰かが URI の構造を表す URI テンプレートを作成しておけば 後から別の人が具体的な情報を埋め込んで URI を作成できるようになるということです。 Joe Gregorio が、考えうる 使用例 を書いています。

準備

要件

URI_Template を使うには PHP 5 が必要です。

インストール

URI_Template パッケージのインストールは、 PEAR インストーラのコマンド pear install URI_Template を用いて行います。

別のインストール方法もあります。pear インストーラコマンドが使用できない場合のインストール方法については インストールの章 を参照ください。

アンインストール

パッケージをアンインストールするには pear uninstall URI_Template とします。

<?php
require_once "URI/Template.php";

$values = array("a" => "foo""b" => "bar""data" => "10,20,30",
                
"points" => array(102030), "list0" => array(),
                
"str0" => """reserved" => ":/?#[]@!$&'()*+,;=",
                
"a_b" => "baz");

$t = new URI_Template("/{-append|/|a}{-opt|data|points}{-neg|@|a}{-prefix|#|b}");
echo 
$t->substitute($values); /* /foo/data#bar */

$t = new URI_Template("relative/{reserved}/");
echo 
$t->substitute($values); /* relative/%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D/ */

$t = new URI_Template("http://example.org/{foo=%25}/");
echo 
$t->substitute($values); /* http://example.org/%25/ */

$t = new URI_Template("http://example.org/?{-join|&|a,data}");
echo 
$t->substitute($values); /* http://example.org/?a=foo&data=10%2C20%2C30 */

$t = new URI_Template("http://example.org/?d={-listjoin|,|points}&{-join|&|a,b}");
echo 
$t->substitute($values); /* http://example.org/?d=10,20,30&a=foo&b=bar */

$t = new URI_Template("http://example.org/?d={-listjoin|,|list0}&{-join|&|foo}");
echo 
$t->substitute(array()); /* http://example.org/?d=& */

$t = new URI_Template("http://example.org/?d={-listjoin|&d=|points}");
echo 
$t->substitute($values); /* http://example.org/?d=10&d=20&d=30 */

$t = new URI_Template("http://example.org/{a}{b}/{a_b}");
echo 
$t->substitute($values); /* http://example.org/foobar/baz */

$t = new URI_Template("http://example.org/{a}{-prefix|/-/|a}/");
echo 
$t->substitute($values); /* http://example.org/foo/-/foo/ */
?>
URI_Template (Previous) 数 (Numbers) (Next)
Last updated: Thu, 31 Jul 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.