Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, seguinte galera, estava pensando em como organizar um site em MVC, onde armazenar os arquivos de admin do mesmo!
Eu tenho um sistema que eu mesmo criei em MVC que é bem útil pra mim pois a base do site de quase todos os meus clientes é a mesma, assim eu só reestilizo e pronto. Porém surgiu a necessidade de criar um gerenciador de conteudo, eu estava pensando em onde colocar esse sistema, pensei em cria-lo como um controller, eu uso a seguinte estrutura:
- plugins
- usuarios
• UsuariosController.php
• UsuariosModel.php
• NovoView.php
• ListarView.php
• EditarView.php
Pensei em fazer, como eu disse, como um controller:
- plugins
- admin
• AdminController.php
• AdminModel.php
• AdminView.php
- usuarios
• NovoView.php
• EditarView.php
- posts
• NovoView.php
• EditarView.php
Pensei nisso mas não sei se é certo e se seria funcional, enfim, me deem uma luz da melhor forma de fazer isso!
Fala Williams! Então amigo, eu penso em mudar a estrutura de pastas do sistema também, mas, mesmo vendo a do laravel ainda não sei ao certo onde colocar o admin do site
No meu sistema SaaS, coloco o Admin separado, já que ele só administra o sistema, não usa qualquer classe da app, assim consigo trabalhar versões e features em branchs difentes, e é até melhor para efetuar manutenções corretivas.
Então, é que penso assim, num sistema de posts por exemplo, o controller teria as actions de listar, cadastrar, editar e excluir, no site propriamente dito, só seria usado o metodo de listar enquanto que no admin seriam usados todos eles, por isso pensei em usar o mesmo controller tanto pro site quanto pro admin, não sei se isso seria o certo de se fazer e nem como separar isso
Siga o principio de responsabilidade unica (SOLID). é mais fácil ter vários controllers, do que um só e cheio de responsabilidades. No seu caso especifico, ao mesmo tempo que ela é privada (Admin), ela se torna publica (Usuários, googleboot). Não faz muito sentido.
Agora se voce quer o mesmo nome na url, tipo
.com.br/admin/post
.com.br/post
Define estes nomes na rota, a partir da rota você chama a classe até com outro nome, não necessariamente a mesma passada pela url, como é bem comum de se usar.
Matheus tenho um projeto de uma API dos correios, como posso fazer contato com você?
Chegue o mais próximo de um Framework Global, O laravel tem uma ótima estrutura de pastas.
https://laravel.com/docs/5.3/structure
https://github.com/laravel/laravel