Исследование мира модулей Magento 2: разговорное руководство с примерами кода

Magento 2 — это мощная платформа электронной коммерции, которая позволяет расширять ее функциональность с помощью модулей. Эти модули, также известные как расширения, предоставляют дополнительные функции и возможности настройки для улучшения вашего интернет-магазина. В этой статье мы воспользуемся разговорным подходом и рассмотрим различные методы перечисления модулей в Magento 2, сопровождаемые примерами кода.

Метод 1: интерфейс командной строки (CLI)
Один из самых простых способов составить список модулей в Magento 2 — использовать интерфейс командной строки (CLI). Откройте терминал или командную строку, перейдите в корневой каталог Magento 2 и выполните следующую команду:

php bin/magento module:status

Эта команда отобразит список всех установленных модулей вместе с их статусом (включен или отключен).

Метод 2: программное использование внедрения зависимостей (DI)
Если вы предпочитаете программный подход, вы можете использовать внедрение зависимостей (DI) для вывода списка модулей в Magento 2. Создайте новый файл PHP и добавьте следующий код:

<?php
use Magento\Framework\Component\ComponentRegistrar;
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$componentRegistrar = $objectManager->get(ComponentRegistrar::class);
$modulePaths = $componentRegistrar->getPaths(ComponentRegistrar::MODULE);
foreach ($modulePaths as $moduleName => $modulePath) {
    echo $moduleName . "\n";
}

Этот код извлекает экземпляр класса ComponentRegistrarи использует его для получения путей ко всем зарегистрированным модулям. Затем он перебирает пути к модулям и печатает имена модулей.

Метод 3: чтение файла app/etc/config.php
Magento 2 сохраняет информацию о конфигурации в файле app/etc/config.php, который включает список установленных модулей. Вы можете прочитать этот файл программно, чтобы получить информацию о модуле. Вот пример:

<?php
$config = include 'app/etc/config.php';
if (isset($config['modules'])) {
    foreach ($config['modules'] as $moduleName => $moduleData) {
        echo $moduleName . "\n";
    }
}

Этот код считывает файл config.phpи извлекает имена модулей из массива modules.

В этой статье мы рассмотрели различные методы вывода списка модулей в Magento 2. Мы рассмотрели использование интерфейса командной строки (CLI), программное использование внедрения зависимостей (DI) и чтение файла config.php. Каждый метод предоставляет удобный способ получить список установленных модулей в Magento 2, что дает вам лучшее представление о расширениях, используемых в вашем интернет-магазине.