от
В Magento, в каждом этапе проекта вы можете найти примеры интерфейсов, как например в этой функции ниже:
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) 
{
        //Upgrade schema logic
}
Как это возможно, чтобы создать экземпляр интерфейса, если я правильно поняла интерфейсы, это не возможно, чтобы объект-интерфейс
SchemaSetupInterface $setup, 
ModuleContextInterface $context

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
То есть вроде хорошая программирования в Magento это как-то связано с ее внедрения зависимости (di). Общего Пользования Интерфейс Интерфейсы определяет минимум funkctions, класс должен реализовать. Таким образом, если функция принимает интерфейс
SchemaSetupInterface
тип, он просто хочет, чтобы класс, который реализует функции, определенные в
SchemaSetupInterface
. В этом особом случае, где интерфейс определяется следующим образом, функция
upgrade
нужен класс, который реализует
getIdxName($tableName, $fields, $indexType = '');
и
getFkName($priTableName, $priColumnName, $refTableName, $refColumnName);
.
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...