1. Go to this page and download the library: Download rguezque/katya-router 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/ */
use rguezque\View;
$view = new View(
__DIR__.'/mis_plantillas', // Directorio donde se alojan los templates
);
$view->setViewsPath(__DIR__.'/templates');
// app/Http/FooController.php
function __construct(View $view) {
$this->view = $view;
}
public function homeAction(Request $request, Response $response): Response {
$result = $this->view->template('home.php', ['message' => 'Hola mundo!'])->render();
return $response->withContent($result);
}
// Se agrega un solo argumento
$view->addArgument('message', 'Hello weeerld!');
// Se agregan varios argumentos a la vez
$view->addArguments([
'id' => 1,
'name' => 'Banana',
'color' => 'yellow'
]);
$data = [
'home': '/',
'about': '/about-us',
'contact': '/contact-us'
];
// Se guarda el template menu.php con el alias 'menu_lateral' y se le envian parámetros en la variable $data
$view->template('index.php', ['title' => 'Ejemplo de vistas']);
$view->extendWith('menu.php', 'menu_lateral', $data);
$view->render();
use rguezque\ClientRequest;
// Si se omite el segundo parámetro se asume que será una petición GET
$client_request = new ClientRequest('https://jsonplaceholder.typicode.com/posts');
// Se envía la petición y se recibe la respuesta
$response = $client_request->send();
print_r($response);
use rguezque\{Group, Katya, Request, Response, Services};
$router = new Katya;
$services = new Services;
$services->register('pi', function() {
return 3.141592654;
});
$services->register('is_pair', function(int $number) {
return $number % 2 == 0;
});
$router->setServices($services);
$router->get('/', function(Request $request, Response $response, Services $service) {
$pi = $service->pi(); // o bien en contexto de objeto: $service->pi
$response->clear()->send($pi);
})->useServices('pi'); // Solamente recibirá el servicio 'pi'
use rguezque\{Katya, Request, Response, Variables};
$router = new Katya;
$vars = new Variables;
$vars->setVar('pi', 3.141592654);
$router->setVariables($vars);
$router->get('/', function(Request $request, Response $response, Variables $vars) {
$response->send($vars->getVar('pi'));
});
$vars->setVar('pi', 3.141592654);
$vars->getVar('pi'); // Devuelve la variable pi (si no existe devuelve null)
$vars->getVar('pi', 3.14) // Devuelve la variable pi (si no existe devuelve por default el valor 3.14)
$vars->hasVar('pi') // Para este ejemplo devolvería TRUE