Download the PHP package esas/cmsgate-core without Composer
On this page you can find all versions of the php package esas/cmsgate-core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download esas/cmsgate-core
More information about esas/cmsgate-core
Files in esas/cmsgate-core
Download esas/cmsgate-core
More information about esas/cmsgate-core
Files in esas/cmsgate-core
Please rate this library. Is it a good library?
Informations about the package cmsgate-core
Описание
Основная библиотека для фреймворка cmsgate. Данный фреймворк будет в первую очередь полезен vendor-ам, которые занимаются интеграцией своих решений (платежных шлюзов, служб доставки) с различными CMS системами (php-based). Основное его назначение
- упростить разработку и поддержку плагинов для интеграции своих продуктов с большим количеством разнообразных CMS, скрывая при этом большую часть внутренних особенностей самих CMS.
Библиотеки (слои)
Любой конечный плагин состоит из 4-х слоев
- core-слой - ядро фреймворка с набором общих для всех плагинов классов. Большая часть классов абстрактны и должны быть переопределены на других слоях
- cms-слой - различные врапперы, лоадеры, helper-ы, обеспечивающие взаимодействие ядра с данными и функциями конкретных CMS
Данные слой представлен ввиде отдельных библиотек, содержащих в имени название соответствующей CMS
- cmsgate-bitrix-lib
- cmsgate-opencart-lib
- cmsgate-prestashop-lib
- и т.д.
- paysystem-слой - протоколы для взаимодействия с API конкретных платежных шлюзов; контроллеры содержащие бизнес-процессы;
враппер для настроек и т.д. Содержит классы, которые важны имеено для взаимодействия с конкретным шлюзом
Данные слой представлен ввиде отдельных библиотек, содержащих в имени название соответствующей платежной системы:- cmsgate-hutkigrosh-lib
- cmsgate-epos-lib
- cmsgate-bgpb-lib
- и т.д.
- cms-paysystem-слой - самый верхний слой, по сути это уже плагин для конкретной cms и конкретной платежной системы
Важно четко разделять эти слои и понимать, к какому слою относится тот или иной функционал. Т.е. paysystem-слой ничего не знает об архитектуре конкретных CMS, а cms-слой не знает про конкретные платежные системы
Основные сущности ядра
- Wrapper - обертки, для взаимодействия между ядром и другими слоями. Все врапперы абстракты и должны быть переопределены
на более высоких слоях
- ConfigWrapper - враппер для настроек конкретной платежной системы. Должен быть переопределен на
paysystem-слое
, для декларации настроек необходимых для взаимодействия с платежной системой (например логины, пароль, api-key и т.д.). Будет содержать настройки, которые не зависят от типа CMS. Например:- ConfigWrapperHutkigrosh (из библиотеки cmsgate-hutkigrosh-lib)
- ConfigWrapperEpos (из библиотеки cmsgate-epos-lib)
За механизм доступа к настройкам в рамках CMS отвечает ConfigStorageСms (относится к
cms-слою
)
- OrderWrapper - враппер для получения информации о заказе (id, сумма, фио клиента, лист продуктов и т.д.). Должен быть
переопределен на
cms-слое
для инкапсуляции внутреннего механизма хранения этой информации в каждой конкретной CMS. То, где хранится номер заказа не зависит от платежной системы, а только от устройства самой CMS. Например:- OrderWrapperOpencart (из библиотеки cmsgate-opencart-lib)
- OrderWrapperBitrix (из библиотеки cmsgate-bitrix-lib)
- OrderWrapperVirtuemart (из библиотеки cmsgate-virtuemart-lib)
- и т.д.
- OrderProductWrapper - враппер для получений информации о товаре, входящем в заказ. По аналогии с OrderWrapper должен быть переопределен на
cms-слое
- ConfigWrapper - враппер для настроек конкретной платежной системы. Должен быть переопределен на
- ConfigStorageCms - класс для получения и сохранения настроек внутри CMS. Должен быть переопределен на
cms-слое
. ConfigWrapper-ы получаются доступ к настройкам через него (хотя, при необходимости, могут и иначе, если переопределить метод ConfigWrapper:getConfig). Например:- ConfigStorageOpencart (из библиотеки cmsgate-opencart-lib)
- ConfigStorageBitrix (из библиотеки cmsgate-bitrix-lib)
- ConfigStorageVirtuemart (из библиотеки cmsgate-virtuemart-lib)
- LocaleLoader - враппер для загрузки текущей локали. Должен быть переопределен на
cms-слое
. Например:- LocaleLoaderOpencart (из библиотеки cmsgate-opencart-lib)
- LocaleLoaderBitrix (из библиотеки cmsgate-bitrix-lib)
- LocaleLoaderVirtuemart (из библиотеки cmsgate-virtuemart-lib)
- ConfigForm - класс для генерации "форм" с настройками. Должен быть переопределен на
cms-слое
. По сути преобразует набор настроек в формат, с которым может работать CMS для отображения их в административной зоне. Т.к. разные CMS могут иметь совсем различные форматы для задания настроек, наследники этого класса на входе получают настройки уManagedFieldsFactory
во внутреннем формате cmsgate (ConfigField*), а на выходе формируют:- уже конечный html код
- массив во внутреннем формате cms
- xml-файл во внутреннем формате cms
- и т.д. Наследники ConfigForm не знают о настройках конкретных платежных система, а "работают" только с типами конфигурационных полей:
- ConfigFieldList
- ConfigFieldFile
- ConfigFieldText
- ConfigFieldPassword
- и т.д.
- ManagedFieldsFactory - factory для гру
- CmsConnector - factory для создания объектов
cms-слоя
. Используется для создания объектов LocaleLoader, OrderWrapper, ConfigStorageCms, ConfigForm - PaysystemConnector - factory для создания объектов
paysystem-слоя
. Используется для создания объектов ConfigWrapper, Translator, ManagedFieldsFactory
All versions of cmsgate-core with dependencies
PHP Build Version
Package Version
Requires
php Version
>= 5.6.0
ext-curl Version *
ext-json Version *
ext-mbstring Version *
ext-xml Version *
ext-simplexml Version *
apache/log4php Version 2.3.0
ext-curl Version *
ext-json Version *
ext-mbstring Version *
ext-xml Version *
ext-simplexml Version *
apache/log4php Version 2.3.0
The package esas/cmsgate-core contains the following files
Loading the files please wait ....