Download the PHP package moiseskalebe/laravel-lazy-filters without Composer

On this page you can find all versions of the php package moiseskalebe/laravel-lazy-filters. 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 laravel-lazy-filters

Laravel Lazy Filters

Introdução

Bem-vindo ao Laravel Lazy Filters, a solução que simplifica a experiência de Filtragem, Sorteamento, Busca e Paginação de registros para desenvolvedores que utilizam o poderoso Framework Laravel. Este aplicativo nasceu da necessidade de aprimorar a visualização e interação com dados, proporcionando uma abordagem inovadora para simplificar o processo de filtragem e exibição de registros de maneira eficiente.

Índice

  1. Introdução
  2. Índice
  3. Requisitos
  4. Instalação
  5. Utilização
  6. Parâmetrização
  7. Filtragem
  8. Paginação
  9. Limitação
  10. Sorteamento
  11. Exemplo de Query Strings
  12. Veja um exemplo de aplicação

Requisitos

Necessario PHP 8.0+ e Framework Laravel

Instalação

Para realizar a instalação desta dependência basta executar o seguinte comando:

Utilização

Para que seja possivel a utilização deste package você precisa ter em mente algumas informações.

O pacote funciona partindo do objeto Request que o Framework Laravel disponibiliza, então veja que os parâmetros precisam ser convêncionados no recebimento da API.

Para que seja possivel realizar as ações como Filtragem, Sorteamento, Busca e Paginação deve-se ter em mente os padrões abaixo:

Parâmetrização:

filter é utilizado para filtrar os registros,

sort é utilizado para ordenar os resultados,

limit é utilizado para limitar a quantidade de resultados retornados.

Searcheable:

Esta trait disponibiliza o metodo processSearch() que recebe como parâmetro um Illuminate\Database\Eloquent\Builder e lê os filtros passados via query-string .

💡 Para utilizá-los na query : filter[nomeCampo][operador]

Listagem de operadores disponiveis:

Operador Equivalente
lt <
gt >
lte <=
gte >=
eq =
neq !=
in IN
nin NOT IN
like LIKE
btw BETWEEN
sort SORT
limit LIMIT

Paginatable:

Esta trait disponibiliza o metodo buildPagination() que recebe como parâmetro um Illuminate\Database\Eloquent\Builder e como segundo parametro um int $perPage que sinaliza a quantidade de resultados por pagina. Este metodo lê o estado atual da do Builder passado executando assim o que foi configurado como a paginação e o limit baseado no parâmetro secundario que possui 40 como default.

E possivel passar o parâmetro perPage como query-string na requisição.

ex: ?filter[name][like]=devs&perPage=100

É possível em uma listagem ignorar a paginação passando o parâmetro bool skipPagination

ex: ?filter[name][like]=devs&skipPagination=1

Apos a execução e atribuido um parâmetro data e um paginationData onde o Data tera os registros todos com parceamento em atributos primitivos e o PaginationData seriam os meta-dados sobre a Paginação.

Limitable:

Esta trait disponibiliza lê a query limit passada na requisição e retorna apenas a quantidade de registros informados. ex: ?filter[name][like]=devs&limit=100

Sorteable:

Esta trait disponibiliza o metodo processSort() que recebe como parâmetro um Illuminate\Database\Eloquent\Builder este metodo lê o estado atual da do Builder passado executando assim o sorteamento.

💡 Para utilizá-lo na query : sort como query-string na requisição.

ex: ?filter[name][like]=devs&sort=createdAt

Exemplo de Query Strings:

Abaixo uma tabela com queries, descritivos e exemplos para cada situação:

Query Descrição Exemplo
filter[nomeCampo] = valor Retorna o valor idêntico ao consultado. nome = “Junior”
filter[nome][like] = valor Retorna os registos que possuem no campo nome o valor ou parte do valor passado. nome LIKE “%valor%”
filter[nome][in] = A,B,C Retorna todos os registros que possuem A,B ou C equivalentes. nome IN (A,B,C)
filter[nome][lt] = 20 Retorna os registros menor que 20. (Less Than) nome < 20
filter[nome][lte] = 15 Retorna os registros menores que e iguais á 15. (Less Than Equal) nome ≤ 15
filter[nome][gt] = 10 retorna os registros maiores que 10. (Greater Than) nome > 10
filter[nome][gte] = 12 retorna os registros maiores que e iguais a 12. (Greater Than Equals) nome ≥ 12
filter[nome][btw] = 2022-12-02, 2023-01-05 retorna os registros que estiverem entre um determinado intervalo, nesse exemplo 2022-12-02 e 2022-01-05. nome BETWEEN 2022-12-02 AND 2023-01-05
sort = createdAt, -numbers Ordena o retorno por createdAt em ascendente e numbers em descendente. Para resultados de forma descendente adicionar o - (hífen) antes do campo
limit = 10 Limita a quantidade de resultados.

Veja um exemplo de aplicação:

Contribuição

A contribuição para este projeto é realizada por meio de Pull Requests (PRs). Antes de enviar uma contribuição, certifique-se de seguir estas etapas:

  1. Faça um Fork do Repositório:

    • Faça um fork do repositório para a sua conta no GitHub.
    • Clone o repositório forkado para a sua máquina local.
  2. Crie uma Branch para sua Contribuição:

    • Crie uma nova branch para trabalhar na sua contribuição.
  3. Faça as Modificações:

    • Implemente as alterações necessárias no código..
  4. Teste suas Modificações:

    • Certifique-se de que suas alterações funcionam conforme o esperado.
    • Execute testes adicionais, se aplicável.
  5. Envie o Pull Request::
    • Faça o commit das suas alterações.
    • Envie o Pull Request para o repositório principal.

Diretrizes do Pull Request

Ao enviar um Pull Request, por favor, siga estas diretrizes:

Para tornar o processo de revisão de Pull Requests mais eficiente, aqui estão algumas preferências pessoais:

Happy coding! 🚀


All versions of laravel-lazy-filters with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
laravel/framework Version >=8
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 moiseskalebe/laravel-lazy-filters contains the following files

Loading the files please wait ....