evlimma / actionpack
Extend a class of type `DataLayer` | Estende uma classe do tipo `DataLayer`
Requires
- php: >=8.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- 1.0.47
- 1.0.46
- 1.0.45
- 1.0.44
- 1.0.43
- 1.0.42
- 1.0.41
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
This package is auto-updated.
Last update: 2026-08-11 22:15:14 UTC
README
The ActionPack trait provides a reusable set of methods for models extending a DataLayer-like class (such as CoffeeCode\DataLayer).
It encapsulates common logic for dynamic filtering, paginated queries, and frequent data access operations.
A trait ActionPack fornece um conjunto reutilizável de métodos para modelos que estendem uma classe do tipo DataLayer (como o CoffeeCode\DataLayer).
Ela encapsula a lógica comum para criação dinâmica de filtros, buscas paginadas e operações frequentes de acesso a dados.
Highlights
- Easy to set up (Fácil de configurar)
Installation
Data Layer is available via Composer:
"evlimma/actionpack": "1.0.*"
or run
composer require evlimma/actionpack
Documentation
Requirements / Requisitos
To use this trait properly, the class that uses it must:
- Extend a class that provides methods like
find(),count(),limit(),offset(),order(), andfetch(). - Define the
$primaryproperty (primary key field name). - Have access to the
DynamicFilterclass. - Have access to the model
OrderColItem(used for dynamic column filters).
Para usar essa trait corretamente, a classe que a utiliza deve:
- Estender uma classe que forneça métodos como
find(),count(),limit(),offset(),order()efetch(). - Definir a propriedade
$primary(nome do campo chave primária). - Ter acesso à classe
DynamicFilter. - Ter acesso ao model
OrderColItem(usado para filtros dinâmicos de colunas).
Available Methods
message(): ?Message
Returns the current message instance. Useful for returning success or error feedback.
Retorna a instância atual da mensagem. Útil para retornar mensagens de sucesso ou erro.
addfields(): ?object
Builds dynamic filters based on the $addfields array using the DynamicFilter class.
It also includes extra column filters from the associated model.
Cria filtros dinâmicos com base no array $addfields, usando a classe DynamicFilter.
Também adiciona filtros extras com base nas colunas do modelo associado.
listEntity(): ?array
Fetches all records from the current entity using dynamic filters.
Busca todos os registros da entidade atual usando filtros dinâmicos.
findByPag(?array $dataArr = null, ?int $itensPerPage = ITEMS_PER_PAGE, int $start = 1): ?object
Returns a paginated set of results using filters.
Returns an object with:
findCount: total matched recordsfindFetch: current page data
Retorna um conjunto paginado de resultados usando filtros.
Retorna um objeto com:
findCount: total de registros encontradosfindFetch: dados da página atual
findByActive(): ?array
Returns all records with status = 1. Useful to fetch only active entries.
Retorna todos os registros com status = 1. Útil para buscar apenas os registros ativos.
findByKey(int $id): ?self
Finds a single record by its primary key.
Busca um único registro com base na chave primária.
findByFields(?array $filter): ?array
Finds records by an associative array of filters, applying = conditions on each field.
Busca registros com base em um array associativo de filtros, aplicando condições de igualdade (=) em cada campo.
For details on how to use the ActionPack, see the sample folder with details in the component directory
Para mais detalhes sobre como usar o ActionPack, veja a pasta de exemplo com detalhes no diretório do componente
Benefits / Benefícios
-
Reduces duplicated logic across multiple models.
-
Centralized and flexible filtering system.
-
Ready-to-use pagination and query patterns.
-
Easier maintenance and cleaner code.
-
Reduz a duplicação de lógica entre diversos modelos.
-
Sistema de filtros centralizado e flexível.
-
Padrões de paginação e busca prontos para uso.
-
Código mais limpo e fácil de manter.
Contributing
Please see CONTRIBUTING for details.
Support
Security: If you discover any security related issues, please email contato@codigospace.com.br instead of using the issue tracker.
Se você descobrir algum problema relacionado à segurança, envie um e-mail para contato@codigospace.com.br em vez de usar o rastreador de problemas.
Thank you
Credits
- Everton A. Lima (Developer)
- All Contributors (This Rock)
License
The MIT License (MIT). Please see License File for more information.