Иконка ресурса

Использование пакетов Composer в XenForo 2.1+ Addons Tutorial 2

Нет прав для скачивания
Q: Как обновить мой аддон с XenForo v2.0 до XenForo v2.1, когда я использую пакеты composer?

Обратите внимание, что я считаю, что этот процесс не требуется - код Composer, который мы использовали для XenForo 2.0, все еще должен работать на XenForo 2.1, и следование этому мини-руководству будет означать, что ваше дополнение больше не работает на XenForo 2.0

Тем не менее, если вы не возражаете против использования специального дополнения для XenForo 2.1 и что вы следовали моему Учебному пособию по использованию пакетов Composer в XenForo 2.0 при создании дополнения ... затем выполните следующие действия для преобразования пакета:

Шаг 1: проверьте Listener Class

Нам нужно выяснить, все еще требуется ли Listener Class .

Посмотрите на класс и функцию, которые мы настроили для выполнения при возникновении события app_setup.

PHP:
<?php namespace ComposerTutorial;

use XF\App;

class Listener
{
    public static function appSetup(App $app)
    {
        Composer::autoloadNamespaces($app);
        Composer::autoloadPsr4($app);
        Composer::autoloadClassmap($app);
        Composer::autoloadFiles($app);
    }
}

Если мы добавили дополнительные функции к вышеупомянутой функции, то вам следует удалить только четыре строки Composer, но оставить на месте функцию, и code event listener r.

Однако, если наш код appSetup не изменился, он нам больше не нужен.

1. удалите code event listener , который мы настроили для прослушивания события app_setup
2. удалите функцию Listenter :: appSetup
3. если у нас нет других функций в нашем классе Listener, удалите также весь файл класса

Шаг 2: удалите вспомогательный класс Composer

Файл Composer.php, который мы добавили в корень нашего дополнения, больше не требуется - этот код был включен в основной код XenForo. Мы можем просто полностью удалить этот файл.

Шаг 3: добавить директиву автозагрузки в addon.json

Отредактируйте ваш файл addon.json и добавьте следующую директиву в его конец:

JSON:
"composer_autoload": "vendor/composer"

Это делает всю работу за нас, говоря ядру XenForo включить наши пакеты дополнений в процесс автозагрузки.

Ваш аддон теперь должен работать на XenForo 2.1 (но больше не будет работать на XenForo 2.0 !!).
Назад
Сверху Снизу