1) değil RecessPHP gibi bir sığınakta çerçeve kullanın veya eğer) ön denetleyicisi olarak bilinen tek bir PHP dosyası (tüm API isteklerini yeniden yönlendirmek için .htaccess dosyasında bir mod_rewrite'ı kuralı kullanmak faydalı olacaktır.
.htaccess
RewriteEngine On
RewriteRule ^/api/ api.php
api.php
$request = $_SERVER['REQUEST_URI']; //this would be /users/show/abc.json
2) Özel bir bütün API isteklerini yönlendirmek için apache yeniden yazma modülünü kullanabilirsiniz Onları işleyen PHP dosyası. Apache yapılandırmanıza bağlı olarak, istenen orijinal (RESTful) URL, PHP'deki bir sunucu değişkeninde saklanır, ben $_SERVER['REQUEST_URI']
olduğuna inanıyorum. Tabii ki sadece RESTful url içeren PHP'ye $_GET[]
değişkenini de iletebilirsiniz. bunun için uygun bir yöntemdir, çünkü
.htaccess
RewriteEngine On
RewriteRule ^/api/([^\.]+).(xml|json|atom) api.php?url=$1&type=$2
api.php
$request_parts = explode('/', $_GET['url']); // array('users', 'show', 'abc')
$file_type = $_GET['type'];
$output = get_data_from_db(); //Do your processing here
//You can outsource to other files via an include/require
//Output based on request
switch($file_type) {
case 'json':
echo json_encode($output);
break;
case 'xml':
echo xml_encode($output); //This isn't a real function, but you can make one
break;
default:
echo $output;
}
3) Heyecan (ve diğer birçok API) bunu kullanın Bir uygulamanın bir API'dan beklediği biçimi sağlamak. Tüm API istekleri, tüm dosyaları oluşturmayı ve içeriklerini çıktıya yansıtan tek bir PHP dosyasına yönlendirilir. Dosya asla sunucuda saklanmaz (önbelleğe alınmadığı sürece).
İyi Kaynaklar
bir not o n RecessPHP. Bu kesinlikle harika bir araç ve size (belki de nasıl bir şeyleri nasıl işlediğine dair bir fikir edinmek için kaynağında) bakmaya cesaretlendirirdim, ama bunun benim için biraz garip görünüyor. Yol isimlerinin özel yorumlarda yazılması gerçeği bana çok değil. Bundan uzaklaşırdım ve ona mükemmel bir çerçeve demezdim, ama kesinlikle bir başlangıç. İyi şanslar!
Temiz URL'lerin REST apis ile ilgisi yoktur. Bunlar, çirkin sorgu dizeleri olabilecek URL'leri güzelleştirmek için iyi bir yol. Genellikle, temiz URL'yi almak ve bir sorgu dizesi sürümüne geri dönüştürmek için mod_rewrite kullanılarak uygulanırlar. –