php ile DİNLENDİRİCİ webcoder uygulamak

2 Cevap php

Ben php ile REST hizmetleri uygulamak için bazı iyi anlamak gerekir

Sofar ne okudum, hepsi de değişkenleri olsun "mantıksal adresleri kullanmak" ve tercihen kullanmayın söylüyorlar.

What I don't see is how these url's are getting processed. Like www.somename.com/product and product is supposed to be not a physical address.

I mean, you do need some entry file that has the php processingcode that does the real work, don't I?

Bu nasıl çalışır?

After that I can echo the data back between custom xml tags and the client app can parse this.That part I still remember from dealing with ajax. Only with REST you put all the resources(data or pieces off data) within a url.

So that takes me back to my original question. How are these logical url's being proccessed?? (within php that is)

Teşekkürler, Richard

2 Cevap

Temel cevap birinin yukarıda açıklamalarda belirtildiği şeydir: mod_rewrite. Rota web isteklerini mod_rewrite kullanmak için Apache yapılandırarak, tüm kaynak istekleri tek bir giriş noktasından geçmesi olabilir. Örnek:

RewriteEngine On
RewriteRule !\.(js|ico|gif|jpg|png|css|html|swf|mp3|wav)$ index.php [L]

Bu index.php olmayan bir statik kaynak için tüm istekleri gönderir. index.php sonra $_SERVER['SCRIPT_URI'] incelenmesi ve istek /animals/cat olabilirdi gerçeğini ayrıştırma, yüklemek ne diyeceğini içeriği bir karar yapabilirsiniz.

Birçok MVC çerçeveler bu kavramı benimsemesi ve denetleyicileri ve görüşlerini yüklemek için bir yol olarak bu yönlendirme yöntemini kullanmaktadır.

IMO, PHP bir sığınakta web hizmeti için en iyi bahis destekler ve RESTful-lik anlar mevcut çerçevelerin birini kullanmaktır. CakePHP, ve CodeIgniter (ve belki Symfony, emin değilim) tüm arama yapmak DİNLENME şey ... bunların hiçbiri sizin ihtiyaçlarınıza ne bağlıdır hangi seçtiğiniz kimse mükemmel değildir, bu yüzden. Ben Kek ve CI kullandım, ve ben CI tercih ederim.

Bu çerçeveler. Htaccess kullanmak ve Apache üzerinde barındırma eğer mod_rewrite, bu yüzden de kalbine önceki cevapları alacaktır.