plugse / ctrl
Launch controllers by registred routes
1.0.0
2023-09-29 12:23 UTC
Requires
- php: >=7.4
- plugse/fileandpath: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.6
README
Executando controllers a partir de rotas especificadas previamente
Menu
Instalação como dependência
Instale File and Path usando o Composer
Diretamente pelo Composer
composer require plugse/ctrl
Alterando o arquivo composer.json
- Crie ou altere o arquivo composer.json
- Crie ou altere a propriedade require
{ "require": { "plugse/ctrl": "^1" } }
- Atualize a biblioteca com o comando abaixo:
composer update
Rodando os testes
Para rodar os testes, rode o seguinte comando
composer run-script post-install-cmd
Funcionalidades
- Retorna o resultado do método executado na classe controller definida na rota.
/** * Retorna o resultado do método executado na classe controller definida na rota. * @return string */ $boot = new Bootstrap(); echo $boot->getResponse();
- Permite a criação de uma classe Route (uma rota).
/** * @param string $controllerName - O nome do controller (sem o sufixo Controller). * @param string $method - O método http que será usado para acessar a action. Valor padrão GET. * @param string $action - A função a ser executada na classe controller. Valor padrão index. * @param bool $isPrivate - Essa rota é privada? Valor padrão false. */ new Route('foo');
- Permite a criação de oleção de cinco rotas: index, create, update, cancel e erase.
/** * @param string $controllerName - O nome do controller (sem o sufixo Controller). * @param array $omit - A lista de rotas que devem alterar o seu parâmetro $isPrivate. Valor padrão []. */ new RouteCollection('foo');
- Executa o método da classe controller definido na rota
/** * @param Request $request - Objeto com os parâmetros definidos na requisição http. * @param Routes $routes - Listagem das rotas definidas na aplicação. * @param string $controllersPath - Caminho para a pasta onde se encontram as classes controller. Valor padão: './src/infra/http/controllers/' . */ $starter = new ControllerStarter($request, $routes); echo $starter->execute();
Exceções
- ClassNotFoundError
- FileNotFoundError
- MethodNotImplementedError
- PermitionDeniedError
- PermitionIncorrectError
- RouteNotImplementedError
- TokenDecodeError
- TokenExpiredError