Я собираюсь разработать веб-приложение Zend, которое для визуализации своих представлений будет использовать данные, которые также должны извлекаться через API-интерфейс JSON-RPC, для собственных мобильных приложений. Мне было интересно, как структурировать проект, чтобы эти две части были независимыми. Веб-приложение предназначено для запуска по следующему URL-адресу:
http://www.domainname.com
Затем клиент iOS и Android должен иметь возможность использовать API-интерфейс JSON-RPC, отправляя почтовые запросы на
http://www.domainname.com/api/
Должно ли веб-приложение и API быть двумя отдельными Zend-приложениями или нет? Я скептически отношусь к этому, потому что, поскольку данные, которыми они будут управлять, практически одинаковы, классы обработчиков запросов и контроллеры для веб-приложения будут иметь кучу аналогичного кода для извлечения и манипулирования данными, которые будут возвращены.
Есть ли хороший, чистый и гибкий способ использовать один и тот же «внутренний» код как для JSON-RPC-сервера, так и для веб-приложения?
Я бы хотел избежать дублирования кода, но также сделать вызовы API максимально быстрыми.
Спасибо всем, кто поможет!