Я создаю сервер REST API (на самом деле в Lumen, а не в Laravel) с несколькими конечными точками, которые позволяют выполнять различные операции с такими ресурсами, как пользователи, учетные записи и продукты.Например, вот маршруты, которые я определил для ресурса User:
GET /v1.0/user
POST /v1.0/user
GET /v1.0/user/{username}
PUT /v1.0/user/{username}
DELETE /v1.0/user/{username}
В настоящее время у меня есть все эти маршруты API для определенного ресурса, определенного в одном контроллере.Например, вот мои маршруты для ресурса User:
$router->get('/v1.0/user', 'UserController@listAll');
$router->post('/v1.0/user', 'UserController@createUser');
$router->get('/v1.0/user/{username}', 'UserController@getUser');
$router->put('/v1.0/user/{username}', 'UserController@updateUser');
$router->delete('/v1.0/user/{username}', 'UserController@deleteUser');
Некоторая логика контроллера становится довольно сложной, и теперь я обнаруживаю, что файлы моего контроллера становятся действительно очень длинными.Теперь я думаю, что мне следует использовать отдельный файл контроллера для каждого маршрута, чтобы сделать код более понятным.
Мой вопрос: есть ли какая-то идиома или соглашение, которому я должен следовать в отношении именования файлов / папок или структуры.Должен ли я создать подпапку в разделе «Контроллеры» для каждого ресурса (например: Controllers / User / UserCreateController.php)?Или это вопрос личного выбора?