PHP5.4 で小さな RESTful サービス API を作成しようとしています (教育目的で)。そのため、サービスが呼び出される URL を分析する必要があります。
これを行う方法は、URL パスを削除して$_SERVER['PATH_INFO']
配列に配置することです。パス情報に含まれていると仮定しましょう/contacts/14295/
。次のように 2 つのパスを配列に配置する正しい方法は何ですか?
array(2) {
[0]=>
string(8) "contacts"
[1]=>
string(5) "14295"
}
パス情報文字列を配列に分割する方法が少なくとも 2 つ見つかりましたが、どちらの方法でも 2 つ以上のエントリを持つ配列になります。
私が見つけた最初の方法は、空の文字列を末尾に持つ配列を返す爆発関数です (最初と最後の配列エントリに空の文字列が含まれていることを意味します)。
explode('/', $_SERVER['PATH_INFO']);
次に、すべてのスラッシュ ('/') のエントリを含む配列を返す preg_split 関数を試しました。
preg_split('//', $_SERVER['PATH_INFO']);
どちらのバリアントも、URL からパスを取得するのは非常に不便です。もっと良い方法がないのだろうかと思います。