Download the PHP package wayn3r/php-server without Composer
On this page you can find all versions of the php package wayn3r/php-server. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wayn3r/php-server
More information about wayn3r/php-server
Files in wayn3r/php-server
Package php-server
Short Description Servidor de PHP para creación de APIs basado en express.js
License MIT
Informations about the package php-server
wayn3r/php-server
Es un router para PHP para la creación de APIs inspirado en express.js
Ejemplo de uso basico:
En el archivo entrada del proyecto (index.php)
Para hacer funcionar este router todas las peticiones al servidor deben ser procesadas por el entrada del proyecto (index.php).
Esto se puede conseguir usando el comando de php para levantar un servidor
Si usas Apache puedes conseguir esto a traves del archivo .htaccess
Rutas relativas
Puedes hacer uso de rutas relativas creando instancias de \Http\Router y usandolas como middleware en la app, tal y como se haria en express.
En fichero router.php
En el index.php
Uso de query, body y url params
Para acceder a los Query Params y a los parametros pasados en el cuerpo de la petición, el \Http\Request cuenta con dos metodos query() y body():
Tambien puedes recibir datos por la url de forma similar a como lo hace express
Para especificar un Url Param debe agregar : y seguido el nombre del parametro. Note que los : deben siempre estar despues de un /, de no hacerlo asi podria llevar a un comportamiento no deseado, ejemplo:
/user/:id -> id es un Url Param requerido para matchear al controlador. /user:id -> se necesita una petición tal que /user:id para matchear al controlador.
Uso de Middlewares
Los middlewares son tratados igual que los controladores, de hecho es la logica que se implemente dentro la que hace la diferencia. Todos los controladores reciben como parametros el \Http\Request, el \Http\Response, y un callable, este ultimo parametro actua igual que la función next de express y te lleva al siguiente controlador en la cola. Este callable puede recibir tantos parametros como el usuario quiera y seran pasador al siguiente controlador antes del \Http\Request. Esto es importante porque pasar parametros o no a la funcion next cambiara el orden de los parametros recibidos en el siguiente controlador, veamos un ejemplo:
Igual que en express tambien se pueden agregar middlewares a nivel de petición.
Validators
php-server ya viene con algunos middlewares para validar parecidos al funcionamiento de express-validator. Replicando en el ejemplo anterior pero usando Validator se veria asi:
Nota: Esta caracteristica aun esta en desarrollo.