paulocoelho / laravel-scaffold-plus
Geração completa de estruturas Laravel: Model, Controller, Service, Repository, Provider, Requests e Policy com exemplos de uso.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/paulocoelho/laravel-scaffold-plus
Requires
- php: >=8.4
- illuminate/console: ^10.0
- illuminate/filesystem: ^10.0
- illuminate/support: ^10.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
🚀 Laravel Scaffold Plus
Um pacote que gera automaticamente a estrutura completa de artefatos para novas entidades no Laravel.
Com apenas um comando, você terá Model, Migration, Requests, Controller, Service, Repository, Provider e Policy criados com exemplos de uso e injeção de dependência já configurados.
Ideal para acelerar estudos e projetos particulares.
📦 Instalação - Dependencia de desenvolvimento
composer require --dev paulocoelho/laravel-scaffold-plus:dev-main
⚡ Uso
Para gerar a estrutura de uma entidade, execute:
php artisan make:estrutura Produto
Exemplo com submódulo:
php artisan make:estrutura Cadastro/Produto
🧱 Estrutura Gerada
A execução do comando irá gerar automaticamente:
Model
app/Models/Cadastro/Produto.php
Migration
database/migrations/xxxx_xx_xx_xxxxxx_create_produtos_table.php
Requests:
app/Http/Requests/Cadastro/Produto/StoreProdutoRequest.php
app/Http/Requests/Cadastro/Produto/UpdateProdutoRequest.php
Controller
app/Http/Controllers/Cadastro/Produto/ProdutoController.php
Service & Interface:
app/Services/Cadastro/Produto/ProdutoService.php
app/Services/Cadastro/Produto/ProdutoServiceInterface.php
Repository & Interface:
app/Repositories/Cadastro/Produto/ProdutoRepository.php
app/Repositories/Cadastro/Produto/ProdutoRepositoryInterface.php
Provider
app/Providers/Cadastro/Produto/ProdutoServiceProvider.php
Policy
app/Policies/Cadastro/ProdutoPolicy.php
Não se esqueça de registar o ScaffoldServiceProvider no arquivo bootstrap/providers.php.
📂 Exemplo de Controller Gerado
<?php namespace App\Http\Controllers\Cadastro\Produto; use App\Http\Controllers\Controller; use App\Services\Cadastro\Produto\ProdutoServiceInterface; use Illuminate\Http\JsonResponse; use Symfony\Component\HttpFoundation\Response; class ProdutoController extends Controller { protected ProdutoServiceInterface $produtoService; public function __construct(ProdutoServiceInterface $produtoService) { $this->produtoService = $produtoService; } /** * Exibe uma lista de recursos. */ public function index(): JsonResponse { $items = $this->produtoService->index(); return response()->json(['data' => $items], Response::HTTP_OK); } }
✅ Vantagens 🚀 Geração automática e padronizada de camadas
Facilita a criação de novas entidades com uma estrutura consistente.
🔄 Injeção de dependência já configurada
Facilita a manutenção e testes do código.
🔒 Policies para controle de autorização
Facilita a implementação de regras de acesso.
🧹 Código limpo e organizado
Facilita a leitura e manutenção do código.
⚙️ Compatível com Laravel 12+
Pronto para as versões mais recentes do Laravel.
📚 Documentação clara e objetiva
Documentação de codigo gerado para facilitar o entendimento.
🧪 Testes Preparado para testes com PHPUnit e Orchestra Testbench:
Execute os testes com o comando:
vendor/bin/phpunit
📜 Licença: Este projeto é open-source sob a licença MIT.
Utilize, modifique e distribua livremente.