Download the PHP package lencione/laravel-modules without Composer
On this page you can find all versions of the php package lencione/laravel-modules. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-modules
Laravel Modules
Gerador de módulos para projetos Laravel com estrutura padronizada.
Cria a árvore app/Modules/{Modulo}/ com pastas convencionadas e arquivos base
a partir de stubs. Carrega automaticamente os arquivos de rotas (web.php e
api.php) de cada módulo.
Requisitos
- PHP
^8.3 | ^8.4 - Laravel
^11 | ^12 | ^13
Instalação
O LaravelModulesServiceProvider é registrado automaticamente via package
discovery do Laravel. Não há nada para registrar manualmente.
O que o package faz
1. Comandos artisan
| Comando | Descrição |
|---|---|
make:module {nome} {pasta?} |
Cria a estrutura completa do módulo (ou apenas uma pasta). Quando completa, também gera controller, requests Store/Update, resource, model, service e arquivos de rota. |
module:action {modulo} {target} |
Cria uma action. |
module:controller {modulo} {target?} |
Cria um controller. Sem target, usa {modulo}Controller. |
module:event {modulo} {target} |
Cria um event. |
module:job {modulo} {target} |
Cria um job. |
module:listener {modulo} {target} |
Cria um listener. |
module:model {modulo} {target?} |
Cria um model. Sem target, usa {modulo}. |
module:request {modulo} {target} |
Cria um FormRequest. |
module:resource {modulo} {target?} |
Cria um JsonResource. Sem target, usa {modulo}Resource. |
module:route {modulo} |
Cria os arquivos web.php e api.php do módulo. |
module:rule {modulo} {target} |
Cria uma ValidationRule. |
module:service {modulo} {target?} |
Cria um service. Sem target, usa {modulo}Service. |
Exemplos:
Subdiretórios funcionam usando / no target:
2. Auto-load de rotas
Para cada app/Modules/{Modulo}/Routes/web.php e api.php encontrado, o
package registra automaticamente as rotas:
web.php→ middlewareweb, sem prefixoapi.php→ middlewareapi, prefixoapi/
3. BaseService
Service genérico com CRUD básico em Lencione\LaravelModules\Services\BaseService.
Métodos disponíveis:
| Método | Descrição |
|---|---|
getAll(?int $perPage = null) |
Retorna paginado, ordenado por id. Aceita perPage opcional. |
getAllWithoutPagination() |
Retorna Collection completa, ordenada por id. |
getById(int\|string $id) |
Retorna o item ou lança ModelNotFoundException (404 automático no Laravel). |
store(array $validated) |
Cria via model->create(). |
update(int\|string $id, array $validated) |
Atualiza e retorna o model. |
delete(int\|string $id) |
Deleta. |
Estrutura criada por make:module
Customização
Publicando os stubs
Se quiser editar os templates usados na geração:
Os arquivos vão para stubs/ na raiz do projeto. O package usa primeiro os
stubs locais; se não existirem, cai nos do package.
Stubs disponíveis:
module-action.stubmodule-controller.stubmodule-event.stubmodule-job.stubmodule-listener.stubmodule-model.stubmodule-request.stubmodule-resource.stubmodule-route.stubmodule-rule.stubmodule-service.stub
Placeholders disponíveis nos stubs:
{{ module }}— namespace relativo (ex:Users\Controllers\Auth){{ target }}— nome final da classe (ex:LoginController){{ module_lower }}— nome do módulo em minúsculas (ex:users)
Publicando o config
Gera config/modules.php:
Opções:
path— onde os módulos vivem.folders— pastas criadas pormake:module.routes.{web,api}.enabled— desliga o auto-load se quiser.routes.{web,api}.middleware— middlewares aplicados ao grupo.routes.{web,api}.prefix— prefixo aplicado ao grupo. Suporta o token{module}que será substituído pelo nome do módulo em minúsculas.
Licença
MIT
All versions of laravel-modules with dependencies
illuminate/console Version ^11.0|^12.0|^13.0
illuminate/database Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0