Обратная совместимость в XenForo 2.0.0 beta 6

На этот раз их довольно много, хотя для этого есть веские причины ... :)

XF\Service\Attachment\Preparer::insertDataFromFile() - аргумент 2 теперь является $userId (вместо пользовательского объекта)
XF\Attachment\AbstractHandler::validateAttachmentUpload() now requires a XF\Attachment\Manipulator object as the second argument
Здесь использовался только идентификатор пользователя, и он может упростить работу за пределами «нормального» контекста. (Вы можете повернуть идентификатор пользователя обратно в объект, если по какой-либо причине вы расширяете этот метод.)

XF\Attachment\AbstractHandler::validateAttachmentUpload() теперь требует объект XF\Attachment\Manipulator в качестве второго аргумента
Это позволяет применять более сложные ограничения на загрузку вложений.

XF\Db\AbstractAdapter: update() и delete(теперь оба требуют, чтобы вы передали значение для своих аргументов $where
Это не позволяет вам случайно забыть передать данные в эти аргументы и обновить/удалить содержимое всей таблицы. (Не то, что мы когда-либо делали в разработке, конечно ...;)) Если вы хотите сохранить это поведение, передайте пустую строку или null для аргумента $where.

XF\Template\Templater::renderTemplate() больше не пытается вывести тип шаблона; вы должны явно передать один
Ранее этот метод пытался вывести тип шаблона (public, admin, email), если вы его вызвали, не указав его. Тип может быть выведен только при вызове вызова при показе другого шаблона, чтобы это создавало непоследовательное поведение и ситуации, в которых были скрыты ошибки. Поскольку вы должны явно указать тип шаблона, ошибки должны быть гораздо более явными.

Обратите внимание, что включение шаблона или вызов макроса из шаблона будет продолжать выводить тип шаблона (в зависимости от типа шаблона, из которого они вызываются).

XF\Import\Importer\AbstractImporter::resetDataForRetainIds() - новый абстрактный метод
Если вы пишете пользовательский (не форумный) импортер, вам нужно будет реализовать этот метод. Он обрабатывает любое удаление данных, необходимое для сохранения идентификаторов, если требуется. В большинстве случаев у вас может быть пустой метод, но, как пример, XenForo включает в себя 2 фиктивных узла, которые необходимо удалить, чтобы гарантировать, что идентификаторы могут быть сохранены.

Обратите внимание, что это все еще применимо только тогда, когда canRetainIds() истинно.

XF\Import\Importer\AbstractImporter::validateBaseConfig() и validateStepConfig() подписи изменены
Эти методы теперь передают свои аргументы конфигурации по ссылке. Любые импортеры должны будут изменить свою подпись для этих методов.

XF\Import\Data\AbstractData::importedIdFound() - новый абстрактный метод
Этот метод вызывается при вызове save(), но мы обнаружили, что этот контент уже импортирован через таблицу журналов импорта. Это следует использовать, чтобы отметить новый идентификатор в ваших данных (следует ли его использовать позже на шаге).

В большинстве случаев вы будете наследовать от одного из других абстрактных обработчиков данных, которые реализуют это, поэтому вам не нужно ничего делать.

XF\Import\Data\EntityEmulator::write()/writeUpdate() переименован в insert()/update()
Если вы используете эти классы напрямую (не через AbstractEmulatedData), вам нужно будет обновить свои вызовы к этим методам.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу