Download the PHP package albreis/router without Composer

On this page you can find all versions of the php package albreis/router. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package router

Como usar

Antes de tudo precisamos importar nosso loader do composer:

Agora podemos instânciar o Router.

Fazendo uma requisição

O Router aceita qualquer método de requisição e possui 3 argumentos:

metodo GET, POST, DELETE, CLI, etc

path é o caminho em que o callback deve ser executado. Usa REGEX para definir as rotas.

callback é um callable, seja uma função ou método e aceita os formatos:

bypass indica se o script vai continuar sendo executado após o match com a rota.

return indica se será retornado o valor caso o callback retorne algum valor

Exemplos

Exemplo 1:

Exemplo 2:

O Router chamará a função exit() após executar o callback, evitando assim a execução do restante do script.

Caso queira que o script continue sendo executado mesmo após dar match com a rota basta passar o parâmetro bypass como true.

Exemplo 3:

Ao acessar a rota http://seusite.com.br/minha-categoria/postagem-109 as variáveis $category e $post teriam os valores minha-categoria e postagem-109 respectivamente.

Como criar um middleware

Para usar o Router como um middleware para setar a rota como bypass.

No exemplo abaixo temos um middleware que é executado em todas as requisições do método POST para a rota login.

Um exemplo de uso seria para criar um sistema de logs de requisição ou pré tratamento de dados.

Exemplo 4:

Before e After

Existem 2 métodos que também podem ser utilizados com middlwares.

A diferença entre usar esses métodos ou utilizar uma rota com bypass é que com before e after você não precisa escrever o pattern da rota.

Before e After podem ser usados também em rotas com bypass.

Usando via CLI

Você pode usar o Router via terminal para chamar as rotas usando o padrão abaixo:

Exemplo:

Exemplos avançados

Exemplo 5 (funções anônimas):

Exemplo 6 (arrow functions):

Exemplo 6 (métodos):

Prefix

Agora é possível agrupar rotas usando prefixos:

Exemplo:

Agora os métodos podem usar injeção de parâmetro, exemplo:

Agora também é possivel acessar uma instância do Router a partir do método:

Usando Registry

Router Registry é uma forma de carregar automaticamente rotas usando DocBlock @Route.

Exemplo:

Como carregar automaticamente arquivos:

Isso vai fazer com o todas as classes do namespace App/ do diretorio sejam mapeadas.

Como carregar uma classe única:

Isso vai fazer com os metodos da classe sejam mapeados.

Usando funções:

Você pode utilizar funções para trabalhar com rotas:

Ao acessar /hello o Router vai executar essa função. Lembre-se que a função precisa existir.

Caso a função esteja em um arquivo externo que ainda não tenha sido feito include/require vocêpode usar o método loadUserFunctionsFrom(), ele vai fazer include do arquivo antes de buscar rotas.

Adicionar uma função unica

Salvar rotas em arquivo para produção

Em produção o ideal é que a aplicação não fique escaneando os arquivos por rotas a cada requisição.

Para isso você pode gerar um arquivo de rotas usando o método $registry->save([caminho do arquivo]).

O caminho padrão do arquivo é routes.php no direotrio atual.


All versions of router with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
albreis/phptest Version ^1.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package albreis/router contains the following files

Loading the files please wait ...