Как использовать Lumen framework без роутера?

221
02 сентября 2021, 05:50

собираюсь писать плагин для Wordpress хочу для своей работы использовать фреймворк Lumen, но как правильно его использовать в обход классического использования роутера и роутов в файлике route.php ? Смысл в том что в Wordpress все ajax запросы поступают на один роут wp-admin.php и там уже в зависимости от параметров обрабатываются данные в колбеках. Теперь вот как на базе вп использовать люмен, чтобы не отвалились мидлверы и контроллеры?

Answer 1

Итак проблемку решил, кому интересно объясню. Для начала определимся с точкой входа аякс запросов

add_action('wp_ajax_test', 'my_action_callback');
add_action('wp_ajax_nopriv_test', 'my_action_callback');
function my_action_callback() {
    $app = require __DIR__.'/core/bootstrap/app.php';
    $app->run();
    wp_die();
}

В колбеке запускаем приложение. Далее в методе dispath файла /vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php для переменной $pathInfo нужно указать наш uri Конечно ядро править такое себе занятие, но я не стал заморачиваться, да и это не стандартное решение как бы, просто нужно избежать обновлений этого файла в будущем.

Чтобы использовать Eloquent ORM нужно в файлике bootstrap/app.php расскоментить две строчки

 $app->withFacades();
 $app->withEloquent();

И теперь например, чтобы обратиться к таблице вп пользователей нужно в моделе User.php добавить строчку protected $table = 'wp_users'; где wp_users название таблицы в бд (стоит учесть динамочность префикса). После этого в контроллере можем юзать наш орм User::where('ID', 1)->first();

READ ALSO
Fatal error: Uncaught Error: Call to a member function getProperties() on null in W:\domains\Shop.loc\public\index.php [закрыт]

Fatal error: Uncaught Error: Call to a member function getProperties() on null in W:\domains\Shop.loc\public\index.php [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

400
Как реализовать ajax запрос к БД?

Как реализовать ajax запрос к БД?

Решил, тренировки ради, написать сервис для сокращения ссылокНа данный момент столкнулся с следующей трудностью:

89
Не приходят push-уведомления на IOS

Не приходят push-уведомления на IOS

Написан функционал для отправки push-уведомлений для IOSС локального сервера уведомления приходят, а с сайта нет

106
Не получается сортировать по дате используя distinct

Не получается сортировать по дате используя distinct

У меня таблица из ссылокМногие повторяются

242