diff --git a/src/Command/CrudGeneratorCommand.php b/src/Command/CrudGeneratorCommand.php index 067a2a2..f8b23ce 100644 --- a/src/Command/CrudGeneratorCommand.php +++ b/src/Command/CrudGeneratorCommand.php @@ -11,7 +11,7 @@ class CrudGeneratorCommand extends Command { - const COMMAND_VERSION = '0.8.0'; + const COMMAND_VERSION = '0.9.0'; public function __construct($app) { @@ -23,7 +23,7 @@ protected function configure() { $this->setName('api:generate:endpoints') ->setDescription('Given an entity, auto-generate a simple CRUD endpoints.') - ->setHelp('This command generate a CRUD to manage any simple entity/table, in a RESTful API. Version: ' . self::COMMAND_VERSION) + ->setHelp('This command generate a CRUD services to manage any simple entity/table, in a RESTful API. Version: ' . self::COMMAND_VERSION) ->addArgument( 'entity', InputArgument::REQUIRED, diff --git a/src/Command/CrudGeneratorService.php b/src/Command/CrudGeneratorService.php index 318f52b..48830de 100644 --- a/src/Command/CrudGeneratorService.php +++ b/src/Command/CrudGeneratorService.php @@ -129,7 +129,7 @@ private function updateRoutes() private function updateRepository() { $repository = ' -$container["'.$this->entity.'_repository"] = function ($container): App\Repository\\'.$this->entityUpper.'Repository { +$container["'.$this->entity.'_repository"] = static function ($container): App\Repository\\'.$this->entityUpper.'Repository { return new App\Repository\\'.$this->entityUpper.'Repository($container["db"]); }; '; @@ -142,7 +142,7 @@ private function updateRepository() private function updateServices() { $service = ' -$container["'.$this->entity.'_service"] = function ($container): App\Service\\'.$this->entityUpper.'Service { +$container["'.$this->entity.'_service"] = static function ($container): App\Service\\'.$this->entityUpper.'Service { return new App\Service\\'.$this->entityUpper.'Service($container["'.$this->entity.'_repository"]); }; '; diff --git a/src/Command/TemplateBase/Objectbase/Base.php b/src/Command/TemplateBase/Objectbase/Base.php index 15e19f0..ebfc16e 100644 --- a/src/Command/TemplateBase/Objectbase/Base.php +++ b/src/Command/TemplateBase/Objectbase/Base.php @@ -5,14 +5,15 @@ namespace App\Controller\Objectbase; use App\Service\ObjectbaseService; +use Pimple\Psr11\Container; abstract class Base { - protected $container; + protected Container $container; - protected $objectbaseService; + protected ObjectbaseService $objectbaseService; - public function __construct($container) + public function __construct(Container $container) { $this->container = $container; } diff --git a/src/Command/TemplateBase/Objectbase/Create.php b/src/Command/TemplateBase/Objectbase/Create.php index bb40a3b..81edac7 100644 --- a/src/Command/TemplateBase/Objectbase/Create.php +++ b/src/Command/TemplateBase/Objectbase/Create.php @@ -4,9 +4,12 @@ namespace App\Controller\Objectbase; -class Create extends Base +use Psr\Http\Message\ResponseInterface as Response; +use Psr\Http\Message\ServerRequestInterface as Request; + +final class Create extends Base { - public function __invoke($request, $response) + public function __invoke(Request $request, Response $response): Response { $input = $request->getParsedBody(); $objectbase = $this->getObjectbaseService()->create($input); diff --git a/src/Command/TemplateBase/Objectbase/Delete.php b/src/Command/TemplateBase/Objectbase/Delete.php index 6c90569..01841b8 100644 --- a/src/Command/TemplateBase/Objectbase/Delete.php +++ b/src/Command/TemplateBase/Objectbase/Delete.php @@ -4,9 +4,12 @@ namespace App\Controller\Objectbase; -class Delete extends Base +use Psr\Http\Message\ResponseInterface as Response; +use Psr\Http\Message\ServerRequestInterface as Request; + +final class Delete extends Base { - public function __invoke($request, $response, array $args) + public function __invoke(Request $request, Response $response, array $args): Response { $this->getObjectbaseService()->delete((int) $args['id']); diff --git a/src/Command/TemplateBase/Objectbase/GetAll.php b/src/Command/TemplateBase/Objectbase/GetAll.php index 0af2d75..e2aaf5f 100644 --- a/src/Command/TemplateBase/Objectbase/GetAll.php +++ b/src/Command/TemplateBase/Objectbase/GetAll.php @@ -4,9 +4,12 @@ namespace App\Controller\Objectbase; -class GetAll extends Base +use Psr\Http\Message\ResponseInterface as Response; +use Psr\Http\Message\ServerRequestInterface as Request; + +final class GetAll extends Base { - public function __invoke($request, $response) + public function __invoke(Request $request, Response $response): Response { $objectbases = $this->getObjectbaseService()->getAll(); diff --git a/src/Command/TemplateBase/Objectbase/GetOne.php b/src/Command/TemplateBase/Objectbase/GetOne.php index 210370b..342a704 100644 --- a/src/Command/TemplateBase/Objectbase/GetOne.php +++ b/src/Command/TemplateBase/Objectbase/GetOne.php @@ -4,9 +4,12 @@ namespace App\Controller\Objectbase; -class GetOne extends Base +use Psr\Http\Message\ResponseInterface as Response; +use Psr\Http\Message\ServerRequestInterface as Request; + +final class GetOne extends Base { - public function __invoke($request, $response, array $args) + public function __invoke(Request $request, Response $response, array $args): Response { $objectbase = $this->getObjectbaseService()->getOne((int) $args['id']); diff --git a/src/Command/TemplateBase/Objectbase/Update.php b/src/Command/TemplateBase/Objectbase/Update.php index 6f6c421..a95d233 100644 --- a/src/Command/TemplateBase/Objectbase/Update.php +++ b/src/Command/TemplateBase/Objectbase/Update.php @@ -4,9 +4,12 @@ namespace App\Controller\Objectbase; -class Update extends Base +use Psr\Http\Message\ResponseInterface as Response; +use Psr\Http\Message\ServerRequestInterface as Request; + +final class Update extends Base { - public function __invoke($request, $response, array $args) + public function __invoke(Request $request, Response $response, array $args): Response { $input = $request->getParsedBody(); $objectbase = $this->getObjectbaseService()->update($input, (int) $args['id']); diff --git a/src/Command/TemplateBase/ObjectbaseException.php b/src/Command/TemplateBase/ObjectbaseException.php index bdc748e..b1697ad 100644 --- a/src/Command/TemplateBase/ObjectbaseException.php +++ b/src/Command/TemplateBase/ObjectbaseException.php @@ -4,6 +4,6 @@ namespace App\Exception; -class ObjectbaseException extends BaseException +final class ObjectbaseException extends BaseException { } diff --git a/src/Command/TemplateBase/ObjectbaseRepository.php b/src/Command/TemplateBase/ObjectbaseRepository.php index ed2d239..f439d3f 100644 --- a/src/Command/TemplateBase/ObjectbaseRepository.php +++ b/src/Command/TemplateBase/ObjectbaseRepository.php @@ -6,7 +6,7 @@ use App\Exception\ObjectbaseException; -class ObjectbaseRepository extends BaseRepository +final class ObjectbaseRepository extends BaseRepository { public function __construct(\PDO $database) { @@ -36,17 +36,17 @@ public function getAll(): array return $statement->fetchAll(); } - public function create($objectbase) + public function create(object $objectbase) { #createFunction } - public function update($objectbase, $data) + public function update(object $objectbase, object $data) { #updateFunction } - public function delete(int $objectbaseId) + public function delete(int $objectbaseId): void { $query = 'DELETE FROM `objectbase` WHERE `id` = :id'; $statement = $this->getDb()->prepare($query); diff --git a/src/Command/TemplateBase/ObjectbaseService.php b/src/Command/TemplateBase/ObjectbaseService.php index d0bd35b..e724fe3 100644 --- a/src/Command/TemplateBase/ObjectbaseService.php +++ b/src/Command/TemplateBase/ObjectbaseService.php @@ -7,9 +7,9 @@ use App\Exception\ObjectbaseException; use App\Repository\ObjectbaseRepository; -class ObjectbaseService extends BaseService +final class ObjectbaseService extends BaseService { - protected $objectbaseRepository; + protected ObjectbaseRepository $objectbaseRepository; public function __construct(ObjectbaseRepository $objectbaseRepository) { @@ -31,7 +31,7 @@ public function getOne(int $objectbaseId) return $this->checkAndGet($objectbaseId); } - public function create($input) + public function create(array $input) { $objectbase = json_decode(json_encode($input), false); @@ -46,7 +46,7 @@ public function update(array $input, int $objectbaseId) return $this->objectbaseRepository->update($objectbase, $data); } - public function delete(int $objectbaseId) + public function delete(int $objectbaseId): void { $this->checkAndGet($objectbaseId); $this->objectbaseRepository->delete($objectbaseId);