Добавление собственных зависимостей и пакетов
Pimcore сам управляет всеми зависимостями с помощью composer, и поэтому вы можете добавлять свои собственные зависимости, используя стандартные функции composer.
Простой пример
Используйте composer в корневом каталоге вашего проекта, например:
composer require mtdowling/cron-expression
Сторонние бандлы
Вы можете устанавливать сторонние бандлы через Composer, как показано выше. Поскольку Pimcore является стандартным приложением на базе Symfony, вы можете использовать любой сторонний Symfony-бандл.
Чтобы загрузить бандл в приложение, его необходимо сначала включить в файле config/bundles.php (см. документацию по бандлам Symfony).
Поскольку Pimcore определяет метод registerBundles в базовом классе ядра, который возвращает список пакетов по умолчанию, а приоритет может быть важен для автоматической загрузки конфигурации, ядро Pimcore предоставляет метод registerBundlesToCollection, который позволяет добавлять пакеты в BundleCollection с
необязательным приоритетом (более высокий приоритет загружается первым) и списком окружений для обработки (например, загрузка только в окружении dev).
Бандлы без указания приоритета регистрируются со значением по умолчанию 0. Вы можете использовать отрицательные значения, если нужно установить приоритет ниже стандартного.
Пример регистрации стороннего бандла в коллекции:
<?php
namespace App;
use Pimcore\HttpKernel\BundleCollection\BundleCollection;
use Pimcore\Kernel as PimcoreKernel;
class Kernel extends PimcoreKernel
{
/**
* Добавляет бандлы в коллекцию для регистрации.
* Коллекция позволяет управлять приоритетами и специфичными для окружения бандлами.
*/
public function registerBundlesToCollection(BundleCollection $collection): void
{
if (class_exists('\\XYZBundle\\XYZBundle')) {
$collection->addBundle(new \XYZBundle\XYZBundle);
}
// Добавление кастомного стороннего бандла с высоким приоритетом и только для окружения dev
$collection->addBundle(new Third\Party\PartyBundle, 10, ['dev']);
}
}
Более подробную информацию о работе с коллекциями бандлов и обработке зависимостей можно найти в разделе Коллекция бандлов.
Бандлы Pimcore
Более подробную информацию см. в разделе бандлы Pimcore.
Бандлы, созданные специально для Pimcore, регистрируются точно так же, как и сторонние: либо через config/bundles.php,
Для управления бандлами Pimcore (просмотр списка, установка, удаление или обновление) вы можете использовать консольные команды pimcore:bundle:*.
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.