Something that I found useful is to have a deeper layer inside constrollers that I usually call services.
What controllers do is to receive the request from the client, "manage" the data and pass it to the required services. The idea of services is to "do" the task without depending on the package or framework that is used.
You can find more about this structure in the following articule coreycleary.me/project-structure-f...
I 100% agree with the deeper layer. Sometimes I call it services, sometimes I have it split down even further into ORM and other services / business logic.
When I get to the MVC part of this project, I am going to dive into the reasons for this choice, so hang tight 😄
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.