1. Go to this page and download the library: Download zozlak/rest library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
zozlak / rest example snippets
RewriteEngine on
# handle requests for existing files and directories as usual
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# redirect everyting else to index.php
RewriteRule ^(.*)$ index.php [QSA]
namespace myRestEndpoint;
use \zozlak\rest\HttpEndpoint;
use \zozlak\rest\DataFormatter;
use \zozlak\rest\HeadersFormatter;
class Person extends HttpEndpoint {
public function getCollection(DataFormatter $f, HeadersFormatter $h){
$f->data('you executed a GET action on a person collection');
}
public function postCollectio(DataFormatter $f, HeadersFormatter $h){
$f->data('you executed a POST action on a person collection');
}
public function get(DataFormatter $f, HeadersFormatter $h){
$f->data('you executed a GET action on a person resource with id ' . $this->personId);
}
public function put(DataFormatter $f, HeadersFormatter $h){
$f->data('you executed a PUT action on a person resource with id ' . $this->personId);
}
public function delete(DataFormatter $f, HeadersFormatter $h){
$f->data('you executed a DELETE action on a person resource with id ' . $this->personId);
}
}
namespace myRestEndpoint;
use \zozlak\rest\HttpEndpoint;
use \zozlak\rest\DataFormatter;
use \zozlak\rest\HeadersFormatter;
use \zozlak\rest\UnauthorizedException;
class Person extends HttpEndpoint {
static private $users = ['user1' => 'pswd1', 'user2' => 'pswd2'];
public function getCollection(DataFormatter $f, HeadersFormatter $h) {
$user = $this->getAuthUser();
if (!isset(self::$users[$user]) || self::$users[$user] !== $this->getAuthPswd()) {
throw new UnauthorizedException();
}
$f->data('Login successful');
}
}
namespace myRestEndpoint;
use \zozlak\rest\HttpEndpoint;
use \zozlak\rest\DataFormatter;
use \zozlak\rest\HeadersFormatter;
class Person extends HttpEndpoint {
public function postCollection(DataFormatter $f, HeadersFormatter $h) {
$id = rand();
// ...everyting else to be done to create the new person...
$h->setStatus(201);
$h->addHeader('Location', $this->getUrl() . '/' . $id);
}
}
namespace myRestEndpoint;
use \zozlak\rest\HttpEndpoint;
use \zozlak\rest\DataFormatter;
use \zozlak\rest\HeadersFormatter;
class Person extends HttpEndpoint {
public function postCollection(DataFormatter $f, HeadersFormatter $h) {
// ...create a file...
$path = '/tmp/tmpName.csv';
$h->setStatus(201);
$f->file($path, '', 'niceName.csv');
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.