Skip to content

bemonee/http-hyperf-skeleton

Repository files navigation

Introducción

Skeleton de microframework PHP.

Requisitos para el desarrollo

  • PHP >= 7.4
  • Swoole PHP >= 4.4,con Short Name desactivado (swoole.use_shortname = off en el php.ini)
  • OpenSSL PHP
  • JSON PHP
  • PDO PHP
  • Redis PHP

Instalación

1) Instalar dependencias

$ composer install

2) Copiar .envs

$ cp .env.example .env
$ cp .env.testing.example .env.testing

3) Crear DB (MySQL)

Según lo que se haya especificado en el archivo .env y .env.testing

Correr para desarrollo local

Una vez instalado, puedes correr la app usando los siguientes comandos:

$ composer start

Este comando iniciará la aplicación en el puerto 9501. Puedes visitar el sitio en http://localhost:9501/

Esta aplicación corre mediante CLI en vez de en un webserver tradicional, por lo tanto cualquier cambio que realices en el código no impactara hasta que hagas un:

$ CTRL + C
$ composer start

Para evitar este comportamiento se implemento un hot-reload util para el desarrollo que realiza este proceso automatico si se ejecuta la app de la siguiente manera:

$ composer start-dev

Correr con Docker

Buildear

$ docker build -t http-hyperf-skeleton .

Correr

$ docker run -d --network=host http-hyperf-skeleton:latest 

Test

Para correr los test basta con ejecutar el siguiente comando:

$ composer test

Coverage

Para correr los test de coverage basta con ejecutar el siguiente comando:

$ composer coverage

Los reportes se encontrarán en la carpeta "coverage/"

Analizar el código estáticamente (BUGS)

Para ejecutar el análisis estático de código para verificar posibles bugs basta con ejecutar el siguiente comando:

$ composer analyse

Formatear el código

Para hacer un beautify del código y que todos sigamos el mismo criterio a la hora de codear puedes ejecutar:

$ composer cs-fix

Consola

$ php bin/hyperf.php [command] [options] [arguments]

Options:

-h, --help Display help for the given command. When no command is given display help for the list command -q, --quiet Do not output any message -V, --version Display this application version --ansi|--no-ansi Force (or disable --no-ansi) ANSI output -n, --no-interaction Do not ask any interactive question -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:

help Display help for a command info Dump the server info. list List commands migrate start Start hyperf servers. db db:seed describe describe:aspects Describe the aspects. describe:listeners Describe the events and listeners. describe:routes Describe the routes information. gen gen:amqp-consumer Create a new amqp consumer class gen:amqp-producer Create a new amqp producer class gen:aspect Create a new aspect class gen:command Create a new command class gen:constant Create a new constant class gen:controller Create a new controller class gen:job Create a new job class gen:kafka-consumer Create a new kafka consumer class gen:listener Create a new listener class gen:middleware Create a new middleware class gen:migration Generate a new migration file gen:model gen:nats-consumer Create a new nats consumer class gen:nsq-consumer Create a new nsq consumer class gen:process Create a new process class gen:request Create a new form request class gen:resource create a new resource gen:seeder Create a new seeder class migrate migrate:fresh migrate:install migrate:refresh migrate:reset migrate:rollback migrate:status vendor vendor:publish Publish any publishable configs from vendor packages.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published