By type
/Controllers
/Events
/Models
By topic
/Comments
/Posts
/Users
By topic, then type
/Comments
/Controllers
/Events
/Models
/Posts
/Controllers
/Events
/Models
/Users
/Controllers
/Events
/Models
Mixed
/Comments
/Controllers
/Events
/Models
/Posts
/Users
That make sense in a big project, but only for the Topics that worth it in my opinion.
If you have only One Controller and One Model for a Topic, I wont git it it's own folder.
But if you have multiple controllers in your Post for example, It make sense to give Post its own folder for childs controllers and models.