Я создаю расширения Joomla начиная с v1, но скоро мне нужно будет запустить API, который я создал и использовал некоторое время. В настоящее время я использую Joomla 2.5 и написал плагины для этой системы:
https://github.com/techjoomla/com_api
Прежде чем начать работу, я бы хотел как можно больше проверить систему в будущем. Этот компонент API только недавно начал обновляться для работы с Joomla v3, поэтому в настоящее время он препятствует обновлению сайта. Я также думаю, что разделение общедоступного API и пользовательского портала имеет смысл, поскольку нет смысла в том, чтобы быть интегрированным расширением, поскольку API будет использоваться мобильными приложениями.
В настоящее время планируется перестроить API на поддомене, что позволит нам обновить пользовательский портал. Я читал о новой платформе Joomla, которая выглядит захватывающе. Подойдет ли это для создания RESTful API для наших мобильных приложений? Если да, то они советы по началу работы? Я читал, что FoF может быть использован для создания API, будет ли это хорошим выбором? Я видел, как проект Kickstarter намеревался создать именно такой API, это потенциальный вариант? Должен ли я просто удалить текущий сайт 2.5 для субдомена, чтобы он только запускал API?
Будем весьма благодарны за любые предложения о наилучшем подходе к созданию RESTful API для Joomla для мобильного взаимодействия.
Ответы:
Из моего опыта:
О фреймворке Joomla
Я попытался создать простой RESTful API для интегрированной аутентификации на основе фреймворка Joomla. Это довольно сложно, совсем не так, как текущий API Joomla. Кроме того, текущий исходный код нельзя скопировать, и библиотеки могут возвращать неожиданные результаты (выполняемые в другой среде). Я буду ждать, пока не станет доступно больше кода, и он получит большее распространение.
О структуре ФОФ
Я в настоящее время развиваюсь только с FOF. Довольно удобно, много RAD, автоматическая настройка и т.д .; и код совместим с J2.5 / J3.
Для RESTful API вы можете просто взять пример todo-fof и добавить контроллер с API. Пример:
Кроме того, вы можете воспользоваться автоматическими представлениями json. Например, представление просмотра (default.php) может генерировать вывод json (просто добавив
default_json.php
иecho json_encode
...)источник
com_api, безусловно, является хорошим способом создания REST-сервисов для вашего сайта, если само расширение не основано на FOF / RAD. Однако будьте осторожны с несколькими проблемами, если вы планируете создать отдельный экземпляр Joomla только для API
Кроме того, я уверен, что не должно быть никаких проблем, так как они будут развиваться до тех пор, пока не будет де-факто Joomla способ создания API.
Отказ от ответственности: я поддерживаю https://github.com/techjoomla/com_api
источник
Мои два цента:
Для клиента мне нужно было получить доступ к содержимому его сайта Joomla из приложения для смартфона. Содержимое было помещено в com_content, поэтому изначально я использовал каналы obRSS. Затем я нашел jBackend на JED и попробовал. Это доступно здесь http://www.selfget.com/products/jbackend.html Код кажется очень чистым и поддерживает запросы RESTful и ответы JSON. Электронная документация ограничена, но достаточно понятна для технических специалистов. К сожалению, на данный момент он поддерживает только com_user и com_content, но в моем случае это было нормально. Теперь я должен использовать его для другого клиента, который использует K2 CCK. Я пытаюсь создать собственный плагин для доступа к статьям и категориям K2, но, по крайней мере, я сохраню весь код управления запросами. Я отправил электронное письмо разработчику, и он сказал мне, что он работает над дополнительными модулями, такими как K2 и форум Kunena, это очень многообещающее расширение.
источник
Следующий сайт, кажется, является отличным ресурсом для рекомендаций о том, как создать RESTful JSON API:
http://jsonapi.org/
Что бы это ни стоило, я также запускаю продукт API для Joomla 3.4.x, который называется cAPI http://getcapi.org .
Основным отличием здесь является то, что я поставил свою инфраструктуру маршрутизации на микро-инфраструктуру Slim. Это позволяет мне включить уже опробованную и проверенную надежную среду в экземпляр приложения Joomla. Я также создал архитектуру плагинов для маршрутов обслуживания, открывая двери для надстроек и безопасности веб-служб.
Вы можете найти дополнительную информацию из других постов, здесь:
/programming/26340885/rest-api-for-joomla-3-0/32706378#32706378
Дайте знать, если у вас появятся вопросы.
источник