PHP MVC – Where to Put Utility Classes

design-patternsmvcPHP

I am creating a PHP project using the MVC pattern.
You can see the directory structure below.

My question: where can I put utility classes like Email and Date?

Project directory structure:

- app/
   - Models/
   - Controllers/
   - Views/
- vendor/
- composer.json
- composer.lcok

Best Answer

Like any other utility class/helper function/convenience whatever, where to put it depends on who's using it. If only M uses it, then maybe it belongs in the Model folder. If your M, V and C are all using Dates, then maybe Date belongs in a separate folder from all three. You don't have to put every piece of code in one of those three folders.

Related Topic