Структура Сервисного Компонента
Сервисный компонент реализуется как класс. Чтобы определить его как сервисный компонент, в него добавляют аннотацию @service. По соглашению, во время исполнения SCA будет использовать имя файла скрипта в качестве имени компонента. Поэтому класс и файл скрипта должны иметь одно и то же имя.
Компоненты SCA всегда предоставляют сервис и нет иных способов использовать компонент, кроме как вызвать его через веб-сервис, либо локально. Поэтому корректные компоненты SCA всегда содержат аннотацию @service и как минимум один публичный метод.
Каждый компонент SCA должен включать скрипт SCA.php, который не только содержит определение классов SCA, но и выполняемый код PHP, который запускается всякий раз при выполнении скрипта и который отвечает за правильное поведение компонентов.
Очень важно, чтобы если ваш файл подключает еще какие либо скрипты, они подключались до скрипта SCA.php. Если они будут подключаться после, то они не будут обработаны SCA во время исполнения.
Пример ниже иллюстрирует эту общую структуру
Пример #1 Структура компонента SCA
<?php
// любые include
include "SCA/SCA.php";
/**
* @service
*/
class ConvertedStockQuote {
// переменные экземпляра, бизнес-логика и как минимум один публичный метод
}
?>