Download the PHP package eduardoribeirodev/base-policies without Composer
On this page you can find all versions of the php package eduardoribeirodev/base-policies. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package base-policies
Base Policies
Um pacote Laravel poderoso para gerenciar políticas de autorização e permissões de forma simplificada e padronizada, integrando-se perfeitamente com a estrutura de autorização nativa do Laravel.
✨ Características
- 🔐 Política Base Abstrata: Implemente políticas de autorização de forma consistente
- 🎯 Permissões Inteligentes: Mapeamento automático de ações para permissões
- 🛠️ Comandos Artisan: Gere políticas e permissões automaticamente
- 🌐 Formatação Flexível: Suporte para múltiplos formatos de permissões (snake_case, kebab-case, camelCase, PascalCase, etc.)
- 📍 Separadores Customizáveis: Configure como as permissões são separadas (underscore, dot, hyphen, colon, etc.)
- 🌍 Internacionalização: Suporte multilíngue para rótulos de permissões
- 🔗 Integração Spatie: Funciona perfeitamente com o pacote
laravel-permission
📦 Instalação
Instale o pacote via Composer:
Publique o arquivo de configuração:
Opcionalmente, publique os stubs para customização:
⚙️ Configuração
Após publicar, edite config/base-policies.php para suas necessidades:
🚀 Uso
Criar uma Política Base
Use o comando Artisan para criar uma nova política:
Isso criará uma política que estende BasePolicy:
Gerar Permissões
Crie permissões automaticamente a partir de seus modelos:
Isso criará permissões no formato configurado, por exemplo:
view:postcreate:postupdate:postdelete:postrestore:postforce_delete:post
Gerar Políticas em Massa
Crie políticas para todos os seus modelos de uma vez:
Usar no Seu Código
As políticas funcionam automaticamente com as permissões:
Usar a Facade
A facade BasePolicies fornece utilitários adicionais:
🔧 Personalização
Customizar Formatos
Configure o formato de permissões via .env:
Formatos Suportados:
snake:view_anykebab:view-anycamel:viewAnypascal:ViewAnylower:viewanyupper:VIEWANY
Separadores Suportados:
underscore:_dot:.hyphen:-space:colon::slash:/pipe:|
Adicionar Permissões Customizadas
Na sua política, sobrescreva métodos conforme necessário:
📋 Estrutura do Projeto
🤝 Integração com Spatie Permission
Este pacote foi desenvolvido para funcionar com o spatie/laravel-permission:
Após instalar, execute as migrações:
As permissões geradas por este pacote funcionam automaticamente com as funções do Spatie:
📚 Exemplos Práticos
Exemplo 1: Autorização em Controllers
Exemplo 2: Verificação em Blade
Exemplo 3: Atribuir Permissões a Usuários
🔐 Boas Práticas
- Use Políticas para Lógica Complexa: Mantenha toda a lógica de autorização centralizada em políticas
- Nomeação Consistente: Use os nomes de ação padrão (view, create, update, delete, etc.)
- Permissões Granulares: Crie permissões específicas para cada recurso
- Roles e Permissões: Use roles para grupos de permissões relacionadas
- Teste Suas Políticas: Sempre teste suas políticas de autorização
📝 Licença
Este pacote é open-source e licenciado sob a Licença MIT.
👤 Autor
Eduardo Ribeiro
- Email: [email protected]
- GitHub: eduardoribeiromagalhaes
🙏 Contribuições
Contribuições são bem-vindas! Sinta-se livre para abrir issues ou enviar pull requests para melhorar este pacote.
📖 Documentação Relacionada
Desenvolvido com ❤️ para a comunidade Laravel