PHP code example of fahrradkrucken / yaae
1. Go to this page and download the library: Download fahrradkrucken/yaae 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/ */
fahrradkrucken / yaae example snippets
use FahrradKrucken\YAAE\Engine;
use FahrradKrucken\YAAE\Http\ResponseInterface;
// ... Some Code ...
$engine->setErrorHandler(function (Throwable $error) {
$response = new \FahrradKrucken\YAAE\Http\Response();
$response->setStatus(ResponseInterface::STATUS_OK);
$response->setHeader('Content-Type', 'application/json');
$response->setData(
json_encode(
[
'error_code' => $error->getCode(),
'error_msg' => $error->getMessage(),
],
JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE
)
);
Engine::sendResponse($response);
});
$engine->setErrorHandlerHttp(function (\FahrradKrucken\YAAE\Http\Error $error) {
if (
$error->getCode() === ResponseInterface::STATUS_NOT_FOUND ||
$error->getCode() === ResponseInterface::STATUS_NOT_ALLOWED_METHOD
) { // Default Router errors
$error->response->setHeader('Content-Type', 'application/json');
$error->response->setData(
json_encode(
[
'error_code' => $error->response->getStatus(),
'error_msg' => $error->response->getData(),
],
JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE
)
);
Engine::sendResponse($error->response);
} else { // Custom errors
if (!$error->response || !($error->response instanceof ResponseInterface)) {
$newResponse = new \FahrradKrucken\YAAE\Http\Response();
$newResponse->setStatus(ResponseInterface::STATUS_BAD_REQUEST);
$newResponse->setData(json_encode(
[
'error_code' => $error->getCode(),
'error_msg' => $error->getMessage(),
],
JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE
)
);
} else {
$newResponse = $error->response;
}
$newResponse->setHeader('Content-Type', 'application/json');
Engine::sendResponse($newResponse);
}
});
// ... Some Code ...
/**
* Route Handler
*/
use FahrradKrucken\YAAE\Http\RequestInterface;
use FahrradKrucken\YAAE\Http\ResponseInterface;
use FahrradKrucken\YAAE\Core\TemplateHandler;
TemplateHandler::setTemplatePath(__DIR__);
// ... Some Code ...
function actionTemplate(RequestInterface $request, ResponseInterface $response)
{
$response->setData(
TemplateHandler::render('demo-template', [
'foo' => 12345,
'bar' => 'Lorem ipsum dolor sit amet',
'baz' => false,
])
);
return $response;
}
// ... Some Code ...
/**
* Route Template
*
* @var int $foo
* @var string $bar
* @var bool $baz
*/
use FahrradKrucken\YAAE\Core\Route;
// .. some code ...
Route::get('/some-json', function (RequestInterface $request, ResponseInterface $response) {
$response->setData([
'foo' => 12345,
'bar' => 'Lorem ipsum dolor sit amet',
'baz' => false,
]);
return $response;
})->addResponseCallback(function (ResponseInterface $response) {
$response->setHeader('Content-Type', 'application/json');
$response->setData(json_encode($response->getData(), JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE));
return $response;
});
// .. some code ...