2009-04-28 2 views

Antwort

3

Angenommen, Sie haben ein Skript index.php. Sie könnten zwei Funktionen darin haben, showForm() und handleForm().

Angenommen, eine Anfrage kommt in index.php.

if (! empty($_SERVER['REQUEST_METHOD'])) { 
    if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') 
    { 
     doSomething(); 
    } 
    else 
    { 
     showSomething(); 
    } 
} 

Da haben Sie es. SICH AUSRUHEN. Wenn Sie eine GET-Anfrage an index.php senden, zeigen Sie eine Ausgabe an, und wenn Sie eine POST-Anfrage an index.php senden, führen Sie einige Datenmanipulationen durch. Sie können von dort für die anderen RESTful HTTP-Anfragetypen, wie DELETE, usw. ausgehen.

Offensichtlich ist dies ein sehr einfaches Beispiel, und ich möchte nicht eine gesamte Website auf diese Weise erstellen. Am besten ist es, eine RESTful-Site auf eine architektonisch solide Weise zu erstellen. Viele Frameworks können dabei helfen.

REST ist momentan ein heißes Thema, es scheint, dass jeder möchte, dass seine Apps RESTful sind. Es gibt viele Artikel und Anleitungen auf Google, Sie sollten wahrscheinlich einige Zeit damit verbringen, verschiedene Ansätze zu erforschen.

Hinweis zu URLs: URIs müssen nicht hübsch sein, um RESTful zu sein. Ein wichtiger Punkt von REST ist jedoch, dass alle URIs eine einzelne Ressource darstellen sollten. Da Abfrageparameter nicht Teil eines URI sind, wird "/index.php?show=2" nicht als RESTful betrachtet. Sie werden feststellen, dass viele Anwendungen URL-Rewriting verwenden, um Abfrageparameter in etwas wie "/index/2" zu konvertieren.

Demnach ist nichts falsch daran, "/index.php" als URI zu haben, solange es nur einen einzigen Zustand darstellt.

-1
POST: 
<? 
// Helloworld_post.php 
echo "Hello world <pre>" 
print_r($_POST['data']; 
?> 

GET 
<? 
//helloworld_get.php 
echo "Hello world <pre>" 
print_r($_GET['data']; 
?> 

Was genau versuchen Sie zu tun? Sie müssen mod_rewrite oder das entsprechende Element verwenden, um pretty/helloworld/urls zu erstellen. Die Schönheit von REST ist nur eine Standard-HTTP-Anfrage. Es gibt keine JSON-Kodierung oder XML-Kodierung oder "wtf I am 1337" -Codierung an.

Verwandte Themen