Я использую в нем wordpress и composer с некоторыми настраиваемыми конечными точками rest-api.
Я настраиваю пользовательскую конечную точку с register_rest_route() вот так
register_rest_route( 'custom/v1', '/order', array(
'methods' => 'POST',
'callback' => 'create_order'
));
и в обратном вызове create_order я пытаюсь использовать библиотеку композитора, но безуспешно. Я возвращаю ошибку 500. В остальной части веб-сайта библиотеки композитора доступны без проблем.
У кого-нибудь есть идея?
Спасибо
Как вы вызываете функцию? В опубликованном вами фрагменте кода очень мало деталей. register_rest_route следует вызывать через действие rest_api_init. См. Пример @Mustafa Uysal здесь
@Jamie_D Библиотека, которую я пытаюсь использовать, - это packagist.org/packages/cocur/slugify
@Jamie_D Я использую его, как вы сказали, через rest_api_initadd_action( 'rest_api_init', function () { register_rest_route( 'custom/v1', '/order', array( 'methods' => 'POST', 'callback' => 'create_order' )); })
@Jamie_D в целом у меня нет проблем с register_rest_route, мой api работает. Проблема возникла, когда я попытался использовать библиотеку композитора в обратном вызове register_rest_route .
Можем ли мы увидеть код вашего обратного вызова create_order?
@Jamie_D А пока я оставил это просто ради отладки. функция create_order ($ request) {$ slugify = new Slugify (); return $ slugify-> slugify ('Привет, мир'); }
Я предполагаю, что пространство имен use Cocur\Slugify\Slugify; находится где-то в вашем коде или библиотеке, добавленной в ваш PATH?
Да, пространство имен уже есть, в другом месте, но оно есть!
Определенно звучит проблема масштабирования. Попробуй с $slugify = new \Cocur\Slugify\Slugify();
Да, это работает!! большое спасибо @Jamie_D






Пожалуйста, укажите библиотеку композитора.