Фон:
В настоящее время у меня есть веб-приложение на основе фреймворка MVC Kohana PHP, которое позволяет пользователям продавать электронные книги своим клиентам.
Код, связанный с webapp, все подключен и все, кроме API-ориентированного. Он запускает чистый MVC, а затем использует усы для системы шаблонов.
Что я хотел бы сделать:
Я хотел бы интегрировать различные бухгалтерские услуги (от более крупных поставщиков, таких как e-conomic.com), но также и собственную интеграцию, которая позволит пользователям оптимизировать их продажи и т.д.
То, что я хотел бы архивировать, - это сделать что-то, назовите это движком, который позволяет интегрировать функциональность (гибко) в части веб-приложения, будь то в части представления или контроллере/логике.
Основываясь на предыстории и глядя на техническую точку зрения, какие способы сделать это?
Мои мысли в том, что мне нужны какие-то заполнители в разных областях веб-приложения. Затем мне нужны эти заполнители для совместной работы с "движком", который затем проверяет интеграцию, хочет "запустить" в этих областях?
Будет ли это работать? Что бы вы сделали?
Обновление, пытаясь сделать его более понятным:
Итак, что бы я хотел сделать, это иметь отдельную функциональность, которая бы интегрировалась в существующее основное веб-приложение.
Скажем, у меня есть папка, называемая интеграциями /, и здесь есть две разные интеграции, которые влияют на разные части системы.
Первая - это интеграция с Kashflow (accounting software), которая захватывает некоторые данные из нашей системы и отправляет Kashflow (путь API, отлично) , а также внутри моего webapp в разделе "заказы" заявляет, синхронизирован ли он с Kashflow еще или нет. (это та часть, о которой идет речь)
Другая интеграция может быть интеграцией "Featured Ebook". Это просто позволяет выбрать, какой продукт следует использовать, а затем в магазине электронных книг, выделенный продукт будет выделен оранжевой рамкой вокруг него и некоторым большим текстом. (это та часть, о которой идет речь )
Как выделены жирным шрифтом? Поставщик интернет-магазина, такой как Shopify, имеет приложения, которые делают это, и все другие SaaS с приложениями имеют это техническое решение.
Интересно, так? Как я могу разрешить раздельную функциональность влиять на базовый webapp?
Надеюсь, теперь это станет понятным.
Новое обновление:
Я ищу ответ - это ответ, основанный на вышеуказанном фоне, как я могу реализовать решение, которое позволит это, откуда я сейчас.
Хорошим ответом будет тот, который также в текстовом/псевдопользователе может дать описание того, как один из примеров плагина/интеграции, о котором я говорил, может быть реализован.
Итак, как интеграция взаимодействует с основным приложением, что имеет основное приложение для того, чтобы принять/разрешить функциональность.