Я создаю приложение с использованием шаблона проектирования Front Controller, и есть только одна страница index.php
, через которую все пользовательские запросы передаются как параметры (по сравнению с разными страницами/контроллерами в обычном дизайне).
Как подключить эти параметры к логике приложения?
например. У меня есть два разных действия:
index.php?action=userLogin&username=admin&password=qwerty //process user login
index.php?action=displayUsersTable //show registered users
В настоящее время у меня есть array
со всеми действиями, которые система принимает (вместе с ожидаемыми аргументами), и я сравниваю параметр action
от URL-адреса к key
этого массива, а затем проверяю необходимые аргументы для этого действия.
//1 = optional, 2=required
$systemActions = [
"userLogin" => [
"login" => 2,
"password" => 2
],
"displayUsersTable" => []
];
Очевидно, что это станет монстром, когда система растет.
Есть ли лучший подход для привязки параметров, отправленных на передний контроллер к действиям системы?