Download the PHP package devbr/router without Composer
On this page you can find all versions of the php package devbr/router. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package router
Short Description Access Controller for your website (Router)
License MIT
Homepage http://dbrasil.tk/devbr/
Informations about the package router
Access Manager - Router
Install
Use Composer for easy installation:
Or install the full base for PHP websites, at "https://github.com/devbr/website".
More info: https://packagist.org/packages/devbr/router
Access Management
Depois de instalado o arquivo de configuração (Config\Devbr\Router), é possível indicar as regras de resposta a solicitações de acesso ao site ou aplicação.
Este é o arquivo básico que acompanha a instalação do Router, podendo ser encontrado em "/Config/Devbr/Router.php" (ou na pasta [vendor]/devbr/router/Config/Devbr/Router.php). É neste arquivo que fazemos a configuração de acesso de nossa aplicação ou site.
Para facilitar o acesso as configurações, sugiro mover a pasta "Config" para o "root" de sua aplicação PHP e acrescentar o seguinte em seu arquivo composer.json:
<< supondo que ".php/" seja seu fallback (ou raiz) para os arquivos PHP >>
A função "respond", responsável por adicionar as rotas de resposta conforme a solicitação de acesso, tem a seguinte sintaxe:
Namespace
O NAMESPACE tem seu "root" (fallback) na pasta do PHP em seu site ou aplicação.
Se você instalou o "https://github.com/devbr/website" já terá esta configuração, caso não, acrescente isto em seu composer.json:
<< a pasta pode ter outro nome, conforme sua escolha >>
Em um servidor Linux, rodando Apache, o root pode estar no seguinte caminho:
A partir dessa pasta você pode chamar qualquer recurso (classe), usando o caminho relativo, o patch (caminho) do arquivo da classe.
Vamos considerar (para exemplo) que a sua classe está no seguinte caminho:
Para montar esse objeto use:
Ou você pode usar a declaração "use", para ficar mais elegante:
Usando o ROUTER
No front controller da sua aplicação web (geralmente o arquivo index.php), você pode ter o seguinte:
A pasta "vendor" do Composer pode estar, por exemplo, na sua pasta raiz dos arquivos PHP (ex.: ".php/"). O Router, baseado nas configuração (Config\Devbr\Router), vai identificar as requisições e chamar o Controller (e action), passando os parâmetros, seguindo a configuração que você definiu para a rota.
Você pode querer que o Router apenas identifique as requisições, retornando os dados para que você use algum "midware", antes de chamar o controlador. Para isso, basta desativar o "autorun" do Router, na montagem do objeto:
Modo CLI (command line)
O Router também pode ser configurado para tratar acesso em linha de comando (terminal). Para esse caso, o method "CLI" é automáticamente detectado.
O namespace default é "Devbr\Cli" e pode (deve) ser configurado conforme as necessidades de sua aplicação. Este namespace está ai para funcionar em conjunto com o componente https://github.com/devbr/tools e obter algumas funcionalidades de apoio ao desenvolvedor.
Com o Devbr\Tools instalado, você pode digitar no terminal:
Onde "Main" é a classe principal desse pacote e, no caso acima, irá obter um "help" das funções disponíveis. Ou caso o Devbr\Tools não esteja instalado.
Para criar seus próprios objetos para acesso via linha de commando, precisará indicar ao Router o namespace de suas classes para o CLI, na configuração do Router:
Nesse exemplo acima, "Cli" é o diretório raíz para as suas classes (a partir do fallback). Considere o seguinte caminho para a sua classe "Tests" (estou confiando que ".php" é o fallback principal, previamente configurado no composer.json, conforme visto anteriormente):
Abrindo um terminal e digitando , o Router vai montar a classe Cli\Tests, chamar o método action, passando par1 e par2 como parâmetros.
Caso você digite (sem o action) o Router chamará o método cliHelp (default), se existir. Você deve criar esse método em suas classes CLI para exibir algum texto de ajuda, para o usuário.