plugse/ctrl

Launch controllers by registred routes

1.0.0 2023-09-29 12:23 UTC

This package is auto-updated.

Last update: 2025-05-16 16:48:07 UTC


README

GitHub release (release name instead of tag name) GitHub PHP PHP Unit

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

  1. Crie ou altere o arquivo composer.json
  2. Crie ou altere a propriedade require
{
    "require": {
        "plugse/ctrl": "^1"
    }
}
  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

  1. ClassNotFoundError
  2. FileNotFoundError
  3. MethodNotImplementedError
  4. PermitionDeniedError
  5. PermitionIncorrectError
  6. RouteNotImplementedError
  7. TokenDecodeError
  8. TokenExpiredError