🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232245

Re: Serwer REST

#232245
From: Wojciech Bancer
Date: Tue, 29 Jan 2019 08:42
37 lines
2470 bytes
On 2019-01-28, Marek S <precz@spamowi.com> wrote:

[...]

>> Potrzebuję w PHP wystawić prościutkie API restowe, kilka metod
>> odczytujących i zapisujących coś do bazy.
>> Jakiej biblioteki PHP użyć bym nie stracił na to kilku dni uczenia?
>
> A po co Ci to? REST jest tak banalny, że nie potrzebuje żadnego serwera. 
> Sadzasz skrypt PHP pod danym URL, który odpowiada JSON'em zapytany 
> również JSON'em i pozamiatane.

1/ A co z parsowaniem parametrów z URLa? (np. /products, /products/{id}, /products/{id}/status)
2/ Co z walidowaniem całych obiektów JSONowych?
3/ Co z rozróżnianiem metod zapytań (GET/POST/PUT/DELETE) i routingu?
4/ Co z definiowaniem reguł CORS?
5/ Co z ew. obsługą autoryzacji użytkownika (choćby tokenem)?

To wszystko podpada pod "prosty REST".

> Do bazy danych też potrzebujesz jakiś 
> bibliotek??? Przecież to parę linijek kodu w natywnym PHP.

Zmieść się w 100 linijkach kodu z walidacją i parsowaniem routingu
(i wyciąganiem parametrów z URLa). I dare you.

> Jeśli zamiast opanować podstawy PHP chcesz korzystać od razu z 
> frameworków, bibliotek, to szczerze mówiąc więcej będziesz tracił na tym 
> czasu. Nie wspomnę o tym, że nigdy nie nauczysz się programowania w ten 
> sposób.

Implementacja takich funkcji nie uczy języka, tylko uczy korzystania 
z funkcji wbudowanych.

-- 
Wojciech Bańcer
wojciech.bancer@gmail.com
Technical Details
Message-ID: <slrnq504fj.25n9.wojciech.bancer@pl-test.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <1t1f1d2pfc90d.dlg@tyczka.com> <q2nptj$i5b$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Newsgroups: pl.comp.lang.php
From: Wojciech Bancer <wojciech.bancer@gmail.com>
Subject: Re: Serwer REST
References: <1t1f1d2pfc90d.dlg@tyczka.com> <q2nptj$i5b$1@node1.news.atman.pl>
Organization: None
Date: Tue, 29 Jan 2019 09:42:21 +0100
User-Agent: slrn/1.0.3 (Darwin)
Mime-Version: 1.0
Message-ID: <slrnq504fj.25n9.wojciech.bancer@pl-test.org>
Lines: 37
NNTP-Posting-Host: 46.227.242.29
X-Trace: 1548751347 unt-rea-a-01.news.neostrada.pl 479 46.227.242.29:50262
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 2251
X-Received-Body-CRC: 1743934747
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit