1. Go to this page and download the library: Download spatial/route 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/ */
spatial / route example snippets
Spatial\Router\RouteBuilder;
use Spatial\Router\RouterModule;
$route = new RouteBuilder();
$route->mapRoute(
"DefaultAPI", // name
"api/{controller}/{id}", //routeTemplate
new class(){ public $id = 2; } //defaults
);
// initialize the RouterModule to set routes
$appModule = new RouterModule();
$appModule->routeConfig($route);
// view results;
$appModule->render();
use Spatial\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
public class ProductsController extends ApiController
{
public function httpGet(int $id): ResponseInterface {
$data = [
'app api',
'value1',
'value2',
$id
];
$payload = json_encode($data);
$response = new Response();
$response->getBody()->write($payload);
return $response;
}
public function httpDelete(int $id): ResponseInterface{ #code here }
}
$route->mapRoute(
"DefaultAPI",
"api/{controller}/{action}/{id}",
new class(){ public id = 2 }
);
patial\Router\RouteBuilder;
use Spatial\Router\RouterModule;
$ri = new RouteBuilder();
// create an array or a single of routes
$routes = [
$ri->mapRoute(
// $name of the routeTemplate and name placeholder for controller namespace
'Api',
// $routeTemplate
'api/{controller}/public/{id:int}',
// default values for the routeTemplate
new class(){
public $id = 3;
public $content;
function __construct()
{
$this->content = file_get_contents('php://input');
}
}
),
$ri->mapRoute(
'SuiteApi',
'suiteapi/{controller}/public/{...param}',
new class(){
public $data;
}
)
];
// initialize the RouterModule to set routes
$appModule = new RouterModule();
$appModule->routeConfig(...$routes)
->allowedMethods('GET, POST, PUT, DELETE')
->enableCache(true)
->authGuard() // takes in list objects for authorization with interface CanActivate
->defaultContentType('application/json')
->controllerNamespaceMap('Spatial\\{name}\\Controllers\\'); // {name} refers to the route name
// view results;
$appModule->render();
$r->mapRoute($name, $routeTemplate, $defaults);
use Spatial\Router\RouteBuilder;
use Spatial\Router\RouterModule;
$route = new RouteBuilder();
$route->mapRoute(
"DefaultAPI", // name
"api/{controller}/{...param}", //routeTemplate
new class(){
public $id = 2;
public $content;
function __construct()
{
$this->content = file_get_contents('php://input');
}
} //defaults
);
// initialize the RouterModule to set routes
$appModule = new RouterModule();
$appModule->routeConfig($route);
// view results;
$appModule->render();
use Psr\Http\Message\ResponseInterface;
public class ProductsController extends ApiController
{
public function httpGet(?array $param): ResponseInterface { }
public function httpPost(string $content): ResponseInterface { }
public function httpPut(string $content, int $id): ResponseInterface{ }
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.