- Первый первый слой совместимости для Joomla 4 в Joomla 3.8
- Пространства имен (Namespaces)
- Зачем нужен миграционный слой для Joomla 4
- Что делать с новыми расширениями для Joomla?
- Текущее состояние Joomla 3.9
- Информационные источники Joomla
Первый первый слой совместимости для Joomla 4 в Joomla 3.8
С выходом Joomla 3.8 был выпущен первый слой совместимости для Joomla 4. Что содержит этот слой? Зачем нужен такой слой? На эти вопросы будут даны ответы в этой статье.
Пространства имен (Namespaces)
Большим изменением в Joomla 4 являются пространства имен, функция, которая существует со времен PHP 5.3.0, выпущенного в 2009 году. Все сообщество PHP полностью адаптировалось к ней, и Joomla не хочет отставать.
В Joomla 4.0 основная архитектура будет поддерживать и в значительной степени использовать PHP код с пространствами имен (namespace). Это относится как к основным библиотекам, так и к расширениям.
Зачем нужен миграционный слой для Joomla 4.
Это означает, что расширение для Joomla 3 будет работать на Joomla 4, а расширение с поддержкой пространства имен Joomla 4 - на Joomla 3.9. Чтобы достичь этого, было решено идти шаг за шагом, чтобы уменьшить риск ошибок и дать разработчикам расширений достаточно времени для адаптации. Первым шагом было создание пространства имен для папки libraries
в Joomla 3.8. Это означает, что такие классы как JForm
теперь имеют имя класса \Joomla\CMS\Form\Form
. Чтобы сохранить обратную совместимость, старые имена классов все еще работают. Это и есть слой миграции, о котором было сказано.
Классы, которые все еще существуют в папках /libraries/cms
, /libraries/joomla
и /libraries/legacy
, в основном устарели или удалены в Joomla 4. Есть одно исключение - пакет файловой системы. К релизу 3.8.0 было недостаточно времени для его преобразования. Это должно быть сделано в версии 3.9.
Что делать с новыми расширениями для Joomla?
Если вы планируете создать новое расширение для Joomla 3, то вам все равно придется делать это старым способом. Вы можете использовать классы библиотек с пространством имен, но расширение, в первую очередь компонент, все еще должно быть БЕЗ пространства имен. Большинство функций Joomla 4 будет перенесено в 3.9.0, так как 3.8 сейчас находится в режиме исправления ошибок.
Текущее состояние Joomla 3.9
Пока не начат перенос функций из Joomla 4 в 3.9, так как есть некоторые проблемы, которые необходимо исправить в версии 4, прежде чем начинать разработку под 3.9. Это означает, что пока не рекомендуется работать с Joomla 3.9.
Информационные источники Joomla.
Полная дорожная карта Joomla 4 опубликована на сайте разработчиков. Если вы хотите взглянуть на актуальный код, то можете протестировать ночные сборки.
Вопросы следует задавать в списке рассылки разработчиков, но большинство проблем обратной совместимости объяснено здесь.
Перевод с английского официальной документации Joomla:
developer.joomla.org
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)