Latest web development tutorials
×

PHP kurs

PHP kurs PHP krótkie wprowadzenie PHP zainstalować PHP gramatyka PHP zmienna PHP echo/print PHP Typy danych PHP stały PHP sznur PHP operatorzy PHP If...Else PHP Switch PHP szyk PHP Sortowanie tablicy PHP superglobalne PHP While krążenie PHP For krążenie PHP funkcja PHP Magiczne Zmienne PHP Przestrzenie nazw PHP Obiektowe

PHP forma

PHP forma PHP Uwierzytelnianie za pomocą formularzy PHP forma - wymagane pola PHP forma - Weryfikacja e-mail i adres URL PHP Kompletna wystąpienie formularza PHP $_GET zmienna PHP $_POST zmienna

PHP zaawansowane Tutorial

PHP Tablice wielowymiarowe PHP data PHP zawierać PHP plik PHP Prześlij plik PHP Cookie PHP Session PHP E-mail PHP bezpieczeństwo E-mail PHP Error PHP Exception PHP filtr PHP Filtr zaawansowany PHP JSON

PHP 7 Nowe funkcje

PHP 7 Nowe funkcje

PHP baza danych

PHP MySQL krótkie wprowadzenie PHP MySQL połączenie PHP MySQL Tworzenie bazy danych PHP MySQL Tworzenie tabeli danych PHP MySQL Należy wprowadzić dane PHP MySQL Wstawić wiele danych PHP MySQL Przygotowane sprawozdania PHP MySQL odczytać dane PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX krótkie wprowadzenie AJAX PHP AJAX baza danych AJAX XML AJAX Wyszukiwanie w czasie rzeczywistym AJAX RSS Reader AJAX głosowanie

PHP Reference Manual

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Przetwarzanie obrazu PHP RESTful

PHP relaksującego

REST (w języku angielskim: Representational State Transfer, zwany ODPOCZYNEK), odnosi się do zestawu ograniczeń architektonicznych i zasad.

REST stylu Web API projekt nazywa się relaksującego API. Jest ona definiowana z trzech następujących środków:

  • Intuicyjny krótki adres zasobu: URI, na przykład: http://example.com/resources/ .
  • zasób Przekładnia: usługa sieci Web akceptuje zwrotu typów mediów internetowych, takich jak: JSON, XML, YAM podoba.
  • Eksploatacja zasobów: metoda usługa sieci Web w szeregu wniosków o zasobie obsługiwane (np: POST, GET, PUT i DELETE).

Ten poradnik użyjemy PHP (bez ramki), aby utworzyć relaksującego usługi internetowej, można pobrać na końcu artykułu przy użyciu kodu w tym rozdziale.

W tym poradniku dowiesz się, co następuje:

  • Tworzenie relaksującego WebService.
  • Korzystanie z natywną PHP, nie zależy od żadnych ram.
  • REST URI wzór, aby przestrzegać zasad.
  • Usługa akceptuje relaksującego i format może zostać zwrócony JSON, XML i tak dalej.
  • kody stanu HTTP odpowiedź w zależności od sytuacji.
  • Demo wnioski cel.
  • Użyj klienta REST do testowania relaksującego usługę internetową.

Przykłady relaksującego WebService

Poniższy kod jest relaksującego klasy usługi Site.php:

Przykłady

<? Php
/ *
* Ten poradnik pokazuje przykłady relaksującego
* Relaksującego klasy usługi
* /
Klasa Site {

prywatne strony $ = array (
1 => 'Taobao "
2 => 'Google'
3 => 'w3big "
4 => 'Baidu "
5 => 'Weibo "
6 => 'Sina'

);


public function getAllSite () {
return $ this -> witryn;
}

public function getSite ($ id) {

$ Site = array ($ id = > ($ this -> strony [$ id]) $ this -> strony [$ id] :? $ this -> strony [1]);
return $ stronę;
}
}
?>

Mapowanie relaksującego usługi URI

Relaksującego usługi URI powinien być ustawiony na krótki adres środków wizualnych. Serwer Apache .htaccess należy ustanowić odpowiednimi zasadami przepisać.

W tym przykładzie użyjemy dwóch reguł URI:

1, aby uzyskać listę wszystkich stron:

http://localhost/restexample/site/list/

2, przy użyciu identyfikatora dla określonej dodaje URI, aby uzyskać identyfikator 3 stron:

http://localhost/restexample/site/list/3/

.htaccess zasady konfiguracji pliku projektu są następujące:

# 开启 rewrite 功能
Options +FollowSymlinks
RewriteEngine on

# 重写规则
RewriteRule ^site/list/$   RestController.php?view=all [nc,qsa]
RewriteRule ^site/list/([0-9]+)/$   RestController.php?view=single&id=$1 [nc,qsa]

Kontroler relaksującego Web Service

W pliku.htaccess, dostaniemy RestController.php złożyć odpowiedni wniosek, poprzez ustawienie parametru 'view', dostając 'Widok' różne parametry do dystrybucji do różnych metod.RestController.php kod pliku jest następująca:

Przykłady

<? Php
require_once ( "SiteRestHandler.php");

$ View = "";
if (isset _GET ($ & # 91; "widokiem" & # 93;))
$ View = $ _GET & # 91 ; "view" & # 93 ;;
/ *
* Usługa relaksującego kontroler
* URL mapowania
* /
switch ($ view) {

Sprawa "all":
// Uchwyt REST URL / site / lista /
$ SiteRestHandler = new SiteRestHandler ();
$ SiteRestHandler -> getAllSites ();
break;

Sprawa "single":
// Uchwyt REST URL / strony / show / < id> /
$ SiteRestHandler = new SiteRestHandler ();
$ SiteRestHandler -> getSite ($ _GET [ "id"]);
break;

Przypadek "":
// 404 - Nie znaleziono;
break;
}
?>

Proste Ćwiczenia relaksującego Foundation

Poniżej przedstawiono klasy bazowej relaksującego do przetwarzania w odpowiedzi na żądanie kodu stanu HTTP, SimpleRest.php kod pliku jest następująca:

Przykłady

<? Php
/ *
* Prosty REST Web Services klasy bazowej
* Możemy rozszerzyć tę klasę w zależności od zapotrzebowania
* /
Klasa SimpleRest {

private $ httpVersion = "HTTP / 1.1 ";

setHttpHeaders public function ($ contenttype, $ StatusCode) {

Komunikat stanu $ = $ this -> getHttpStatusMessage ($ statusCode);

Nagłówek ($ this -> httpVersion " " $ statusCode .. "" $ Komunikat stanu ..);
header ( "Content-Type:" $ contentType.);
}

public function getHttpStatusMessage ($ statusCode) {
$ HttpStatus = array (
100 => 'Kontynuuj',
101 => 'Protokoły przełączania "
200 => 'OK',
201 => 'Utworzone',
202 => 'Zaakceptowany "
203 => 'nieautorytatywnych Informacje "
204 => 'Nie Content',
205 => 'Reset Content',
206 => 'Partial Content',
300 => 'Multiple Choices "
301 => 'Przeniesiony na stałe "
302 => 'Found "
303 => 'Zobacz inne "
304 => 'Not Modified "
305 => 'Proxy',
306 => '(nieużywany) " ,
307 => 'Temporary Redirect "
400 => 'Bad Request "
401 => "nieuprawnione"
402 => 'Płatność Wymagane'
403 => 'Forbidden'
404 => 'Not Found ",
405 => 'Method Not Allowed " ,
406 => 'Nie do przyjęcia "
407 => 'Proxy Authentication Required " ,
408 => 'Przekroczenie limitu czasu żądania "
409 => 'Konflikt'
410 => 'Przeminęło "
411 => 'Długość Wymagane'
412 => 'Warunek Failed "
413 => 'Zbyt duże żądanie "
414 => 'Request-URI Too Long',
415 => 'nieobsługiwany Typ nośnika " ,
416 => 'Żądane Range spełnialna "
417 => 'Oczekiwanie Failed "
500 => 'Internal Server Error " ,
501 => 'Nie zaimplementowano "
502 => 'Bad Brama "
503 => 'Usługa niedostępna "
504 => 'Brama Timeout "
505 => 'HTTP Version Not Supported ');
return ($ httpStatus [$ statusCode] ) $ httpStatus [$ statusCode]: $ Status [500] ;?
}
}
?>

Relaksującego Web klasy materiały budowlane

Poniżej znajduje się Web Service relaksującego klasy obsługi SiteRestHandler.php odziedziczył powyższe zapewniamy relaksującego klasy podstawowej, klasy zależy od parametrów wniosku w celu ustalenia, czy zwracane kody stanu HTTP i formatów danych, zapewniamy przykłady trzech formatów danych: "application / json", "application / xml" i "text / html":

SiteRestHandler.php kod pliku jest następująca:

Przykłady

<? Php
require_once ( "SimpleRest.php");
require_once ( "Site.php");

Klasa SiteRestHandler rozciąga SimpleRest {

getAllSites function () {

$ Site = new Site ();
$ RawData = $ site -> getAllSite ();

if (empty ($ rawData)) {
$ StatusCode = 404;
$ RawData = array ( 'błąd' => 'Nie znaleziono strony!');
} Else {
$ StatusCode = 200;
}

$ RequestContentType = $ _SERVER [ 'HTTP_ACCEPT '];
$ This -> setHttpHeaders ($ requestContentType , $ statusCode);

if (strpos ($ requestContentType " application / json")! == false) {
$ Response = $ this -> encodeJson ($ rawData);
echo $ response;
} Else if (strpos ($ requestContentType "text / html")! == False) {
$ Response = $ this -> encodeHtml ($ rawData);
echo $ response;
} Else if (strpos ($ requestContentType "application / xml")! == False) {
$ Response = $ this -> encodeXml ($ rawData);
echo $ response;
}
}

public function encodeHtml ($ responseData) {

$ HtmlResponse = "<table border = " 1 ">";
foreach ($ responseData jako $ key = > $ value) {
.. $ HtmlResponse = "<tr > <td>" klucz $ "</ td> <td>" $ value "</ td> </ tr>" ...;
}
. $ HtmlResponse = "</ table >";
return $ htmlResponse;
}

public function encodeJson ($ responseData) {
$ JsonResponse = json_encode ($ responseData) ;
return $ jsonResponse;
}

public function encodeXml ($ responseData) {
// Utwórz obiekt SimpleXMLElement
$ Xml = new SimpleXMLElement ( '< strona> </ strona> <? Xml version = "1.0" ??>');
foreach ($ responseData jako $ key = > $ value) {
$ Xml -> addChild ($ key , $ value);
}
return $ xml -> asXML () ;
}

public function getSite ($ id) {

$ Site = new Site ();
$ RawData = $ site -> getSite ($ id);

if (empty ($ rawData)) {
$ StatusCode = 404;
$ RawData = array ( 'błąd' => 'Nie znaleziono strony!');
} Else {
$ StatusCode = 200;
}

$ RequestContentType = $ _SERVER [ 'HTTP_ACCEPT '];
$ This -> setHttpHeaders ($ requestContentType , $ statusCode);

if (strpos ($ requestContentType " application / json")! == false) {
$ Response = $ this -> encodeJson ($ rawData);
echo $ response;
} Else if (strpos ($ requestContentType "text / html")! == False) {
$ Response = $ this -> encodeHtml ($ rawData);
echo $ response;
} Else if (strpos ($ requestContentType "application / xml")! == False) {
$ Response = $ this -> encodeXml ($ rawData);
echo $ response;
}
}
}
?>

Następnie za pośrednictwem http: // localhost / restexample / site / lista / wizyta wyniki wyjściowe są następujące:


Klient relaksującego Web Service

Wtedy możemy użyć jako relaksującego klientów usług internetowych w przeglądarce Google Chrome "Advance Reszta klient" poprosić naszych usług.

Przykłady żądanie http: // localhost / restexample / site / lista / adresu, otrzymane dane są podobne doAccept: application / json

3 Żądanie strona id w3big (samouczek), adres dostępu jest http: // localhost / restexample / site / lista / 3 /,

Źródło pobrania

Kod użyty w przykładzie kliknij przycisk poniżej aby pobrać:

Źródło pobrania