MVC - Qual a melhor forma de organizar módulos?


(Jonatan Santana) #1

Olá pessoal.

Estou com a seguinte duvida.

Qual a melhor maneira de organizar um projeto que será desenvolvido no padrão MVC que contenha diferentes módulos?

Dessa maneira:

  • app
  • modulos
    -modulo1
    • controller
      modulo1Controller.php
    • model
      modulo1Model.php
      • bean
        modulo1Bean.php
    • view
      modulo1View.php
      -modulo2
    • controller
      modulo2Controller.php
    • model
      modulo2Model.php
      • bean
        modulo2Bean.php
    • view
      modulo2View.php
  • core
    • config.php
      htaccess
      index.php
      composer.json

Ou assim:

  • app
    • controllers
      controller1.php
      controller2.php
      controller3.php
    • models
      model1.php
      model2.php
      model3.php
    • beans
      bean1.php
      bean2.php
      bean3.php
    • views
      view1.html
      view2.html
      view3.html
  • core
    • config.php
      htaccess
      index.php
      composer.json

Sendo que, a url precisa ficar dessa maneira: http://projeto.com.br/nomedomodulo/actiondocontroller


(Luan Maik) #2

Imagine que sua aplicação tenha 100 controllers, imagina a bagunça se deixasse tudo solto dentro de uma pasta. O correto é fazer como no primeiro caso, criar uma pasta para cada módulo para organizar a estrutura.
Sobre a url (rota) para executar o controller isso será definida na configuração de rotas do seu framework.
Para aplicações pequenas e médias eu sugiro o Slim framework.


(Jonatan Santana) #3

Realmente Luan, levando isso em consideração separar os modulos por pasta é mais prático.
No entanto, sabe me dizer como eu poderia carregar todos esses modulos por meio do composer?


(Luan Maik) #4

Conselho usar a o demonstrado no tópico: How to autoload the PSR-4 way?