Librería de PHP para el manejo de peticiones REST
- PHP 8.1^
- composer
Librerias de composer
- symfony/yaml: ^6.3
- firebase/php-jwt: ^6.5
Para este projectilizaron en manejador de paquete de PHP Composer en ejecutando mendiante la consola en la raiz del proyecto
composer init
Instalamas las dependencias requeridos
composer require symfony/yaml firebase/php-jwt phpnova/next
└─src
└─Config
└─handle-response.php
└─handle-exceptions.php
└─handle-error.php
└-rotuer.php #Aquí configuramos el enrutador
.htaccess
app.yaml
app.php
El archvio app.yaml contiene la configuración inicial de la aplicación con se muestra en el siguiente ejemplo
version: 1.0.0
timezone: 'UTC'
debug: true
private_keys:
jwt: eb52e801e49bb9522ae64ab57bdaae18dc2f525bd31b7bc0f8
En caso de que deseamos agragar información extra para la conexión con la base de datos, lo agregamos de al siguiene manera al app.yaml
databases:
my_database:
type: mysql
host: localhost
user: root
password: my_passsword
database: my_database
port: 3306
Se prodra acceder a esta información desde la clase Phpnova\Next\Config
En este fichero la entrada de la aplicación
use App\Resources\Authentication\AuthenticationController;
use Phpnova\Next\Factory\AppFactory;
use Phpnova\Next\Http\Response;
use Phpnova\Next\Routing\Router;
require __DIR__ . '/vendor/autoload.php';
$app = AppFactory::create(dir: __DIR__, enablePanel: true);
$app->use('/', function(){
Router::get('', fn() => "Hola munod");
});
$app->run();
Para definir la rutas deacceso utilizares las clase Phpnova\Next\Routing\Router
use Phpnova\Next\Routing\Router;
Router::get('/saludar', function(){
return "Hola, ¿Como estas?";
});
# Utilizar parametro en la url
Router::get('/saludar/:name', function(string $name){
return "Hola $name, ¿Como estas?";
});