Правильная обработка ajax методов?

У меня есть приложение в котором много ajax обработчиков, и все эти обработчики посылают запросы на один файл - ajax.php.
Там запрос обрабатывается и стоит большой свитч по типу -
$_m = $_POST['method'];
switch ($_m){
  case "save": 
    // cose
     break;
  case "delete":
    // code
    break;
   // и так далее где-то ~40 кейсов  
}

Я хотел бы узнать, есть какие либо приемы или паттерны которые помогут избавится от такой конструкции, или сделать ее гибче и проще, можно конечно передавать метод специальному классу, и в классе создавать инстанс класса methodClass, но такой подход слишком громоздкий.
  • Вопрос задан
  • 2615 просмотров
Пригласить эксперта
Ответы на вопрос 2
ilyaplot
@ilyaplot
PHP программист
class AjaxController 
{
    publc function actionSave()
    {
        return .....;
    }
}


$controller = new AjaxController();
if (method_exists($controller, "action".ucfirst($_POST['method'])))
{
    return $controller->"action".ucfirst($_POST['method'])();
}


Если по душе подобные конструкции, открывайте yiiframework.ru и начинайте изучать. Там все так-же удобно сделано.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Да, это называется маршрутизацией запросов. Если не хотите писать велосипеды, рекомендую взять какой микро фреймворк, например Silex (хотя бы посмотрите примеры) и не париться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы