Najlepszy samouczek PHP relaksującego W 2024 r. W tym samouczku możesz dowiedzieć się Przykłady relaksującego WebService,Przykłady,Mapowanie relaksującego usługi URI,Kontroler relaksującego Web Service,Przykłady,Przykłady,Przykłady,Klient relaksującego Web Service,

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 pl "" $ Komunikat stanu pl);
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) {
pl $ HtmlResponse = "<tr > <td>" klucz $ "</ td> <td>" $ value "</ td> </ tr>" pl.;
}
. $ 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

PHP relaksującego
10/30