Итак, позвольте мне объяснить, что я пытаюсь сделать.CakePHP и параметры обработки в REST
Я успешно реализован сервис SOAP с CakePHP, используя этот учебник:
http://bakery.cakephp.org/articles/Marcelius/2009/02/10/soap-services-in-cakephp
Эта часть прекрасно работает. Я могу отправлять и получать XML-сообщения через SOAP, и у меня есть около 6 контроллеров с набором различных функций для обработки этих запросов.
Что я хочу иметь, это то же приложение, которое также может обрабатывать запросы через REST. До сих пор мне удалось добавить mapResources() и parseExtentions() в мой файл route.php, и он отлично работает для функций, для которых не требуются какие-либо параметры для правильной работы, то есть я могу перейти к URL-адресу как
локальный/каталог/controller_name/function_name.xml
... и я вернусь все результаты, и я едва должен коснуться моего кода, чтобы заставить его работать.
Однако у меня возникают реальные трудности с тем, чтобы это работало, когда функция нуждается в некотором входном параметре для правильной работы - некоторые из этих переменных могут стать довольно сложными, например, массивом.
Я читал о том, как вы можете использовать file_get_contents ("php: // input") для извлечения и анализа тела входящего запроса, но это действительно не работает слишком хорошо, потому что мне нужно вернуться и измените весь мой существующий код на выборку из этого источника, и каждый вызов функции выдает предупреждение о отсутствующих параметрах.
Является ли то, что я пытаюсь сделать возможным? Каким будет лучший способ справиться с этой ситуацией с CakePHP?
ТИА
В нормальных условиях это, как нормальный человек будет делать это. Но в этом случае это не работает. Существующий код установлен для обработки запросов мыла, поэтому любая функция контроллера с параметрами ожидает только один stdClass в качестве входных данных. Если бы я сделал это по-своему, мне пришлось бы вернуться и изменить ВСЕ мой существующий код, чтобы вручную захватить все переменные из $ this-> param ['url'], а не просто определять маршрут, а также сопоставлять подпись функции. – user470714