<?php
Route::init();
Route::run();
class Route
{
static function init()
{
// тут мы получаем из _POST action
// проверяем наличие метода с его имененем в рабочем классе Actions
// пишем все в приватные статические переменные
// проверяем ожидаемые в POST параметры по map из Actions
}
static function run()
{
// вызываем метод из Actions
}
}
class Actions
{
'getSome' => array('id', 'someone'), 'getSomeOther' => array('id'), );
public getSome()
{
// полезная нагрузка, возвращаем JSON
}
public getSomeOther()
{
// полезная нагрузка, возвращаем JSON
}
}
PD9waHAKUm91dGU6OmluaXQoKTsKUm91dGU6OnJ1bigpOwoKY2xhc3MgUm91dGUKewoJc3RhdGljIGZ1bmN0aW9uIGluaXQoKSAKCXsKCQkvLyDRgtGD0YIg0LzRiyDQv9C+0LvRg9GH0LDQtdC8INC40LcgX1BPU1QgYWN0aW9uCgkJLy8g0L/RgNC+0LLQtdGA0Y/QtdC8INC90LDQu9C40YfQuNC1INC80LXRgtC+0LTQsCDRgSDQtdCz0L4g0LjQvNC10L3QtdC90LXQvCDQsiDRgNCw0LHQvtGH0LXQvCDQutC70LDRgdGB0LUgQWN0aW9ucwoJCS8vINC/0LjRiNC10Lwg0LLRgdC1INCyINC/0YDQuNCy0LDRgtC90YvQtSDRgdGC0LDRgtC40YfQtdGB0LrQuNC1INC/0LXRgNC10LzQtdC90L3Ri9C1CgkJLy8g0L/RgNC+0LLQtdGA0Y/QtdC8INC+0LbQuNC00LDQtdC80YvQtSDQsiBQT1NUINC/0LDRgNCw0LzQtdGC0YDRiyDQv9C+IG1hcCDQuNC3IEFjdGlvbnMKCX0KCQoJc3RhdGljIGZ1bmN0aW9uIHJ1bigpCgl7CgkJIC8vINCy0YvQt9GL0LLQsNC10Lwg0LzQtdGC0L7QtCDQuNC3IEFjdGlvbnMgCgl9Cn0KCmNsYXNzIEFjdGlvbnMgCnsKCXB1YmxpYyAkbWFwID0gYXJyYXkgKAoJCSdnZXRTb21lJyA9PiBhcnJheSgnaWQnLCAnc29tZW9uZScpLAoJCSdnZXRTb21lT3RoZXInID0+IGFycmF5KCdpZCcpLAoJKTsKCQoJcHVibGljIGdldFNvbWUoKSAKCXsKCQkvLyDQv9C+0LvQtdC30L3QsNGPINC90LDQs9GA0YPQt9C60LAsINCy0L7Qt9Cy0YDQsNGJ0LDQtdC8IEpTT04KCX0KCQoJcHVibGljIGdldFNvbWVPdGhlcigpIAoJewoJCS8vINC/0L7Qu9C10LfQvdCw0Y8g0L3QsNCz0YDRg9C30LrQsCwg0LLQvtC30LLRgNCw0YnQsNC10LwgSlNPTgoJfQp9