CMS / Что нас ждет в Joomla Framework 12.1

в 10:28, , рубрики: Новости

Возможно еще не все осознали, но Joomla давно разделилась на две части — Joomla CMS и Joomla Framework. Последний имеет версию 11.4, но усиленно пилится версия 12.1. Изначально планировалось, что фреймворк будет выходит раз в квартал, однако в этот год решили выпустить только три версии — 12.1, 12.2, 12.3. Соответственно, 12.1 выйдет 18 апреля. Что же нас в ней ждет?

  1. Серьезной переработке подверглась часть работы с базами данных. Пакет <a rel="nofollow" href="https://github.com/joomla/joomla-platform/tree/staging/libraries/joomla/database">DATABASE можно сказать полностью переписан. Пока существуют драйверы для работы с MYSQL,MYSQLI,ORACLE,PDO,SQLITE, а также SQL SERVER и SQL AZURE. Драйвер под PostgreSQL усиленно пилится — раз, два и три
  2. Новый пакет HTTP, куда попала функциональность, связанная с HTTP-протоколом, в частности потоки, сокеты, CURL. Класс для получения и работы со всем этим называется JHTTPFactory и находится в /libraries/joomla/http/factory.php
  3. Добавлен класс JStringInflector (Joomla/String/Inflector.php). Позволяет производить разные действия со словами, например узнавать их число, переводить в единственное/множественное число. Пока поддерживается только английский язык, но есть возможность добавлять свои правила единственного-множественного числа (в виде регэкспов, функция _addRule)
  4. Появился новый пакет CRYPT (Joomla/Crypt) с поддержкой методов шифрования 3DES/BLOWFISH/RIJNDAEL256/SIMPLECRYPT. Старое шифрование (joomla/utilities/simplecrypt.php) объявлено DEPRECATED и перенаправляется на новую библиотеку. Для шифрования используется расширение PHP mcrypt.
  5. В классе JDocument появился новый подкласс JDocumentImage, отвечающий за рендеринг изображений. Правда пока он просто вызывает parent::render, предварительно определив MIME-тип картинки по расширению.
  6. Создан файл libraries/import.legacy.php, который импортирует некоторые deprecated-файлы, и содержимое папки libraries/legacy. Туда было перенесено много чего устаревшего, и все содержимое папки libraries/cms (так как joomla-cms это отдельный проект, и не должен находиться в платформе). Теперь если вам нужны deprecated-возможности платформы, в своем приложении вы импортируете файл import.legacy.php, если же только не-deprecated, то import.php, как обычно. Joomla CMS пока будет импортировать legacy-код, полностью избавиться от него планируется через год-два
  7. Класс JApplication (joomla/application/application.php), как видно по ссылке из предыдущего пункта, тоже объявлен legacy. Предложено пользоваться JApplicationWeb, JApplicationCli или JApplicationDaemon. Однако CMS об этом еще не знает и пользуется JApplication.
  8. Патчер файловой системы по DIFF-файлам (libraries/joomla/filesystem/patcher.php). Взят из проекта phppatcher
  9. Добавлена возможность использования memcached в качестве кеша
  10. Библиотека Mootools обновлена до версии 1.4.4, совместимость с версией 1.2 больше не поддерживается. PHPMailer также обновлен до версии 5.2.1

Что планируется в будущем:

  1. Новый FEED-класс. Пока Joomla пользуется библиотекой SimplePie.
  2. Поддержка PostgreSQL
  3. Пакет SEARCH. Тот компонент, который сейчас есть в CMS (COM_SEARCH) совсем не удовлетворяет нужды пользователей.
  4. Пакет STREAMS для работы с потоками (seek, fstat, flush, lock), разными видами кэшей (xcache, wincache)
  5. Пакет COMMERCE – корзина пользователя, заказы, оплата (пока paypal).

Кроме того, некоторое время назад eBay запустила на Joomla один из своих проектов. Естественно, eBay очень много в ней переделала, и теперь хочет поделиться с сообществом. Что нас ждет вкратце описано здесь. Нововведений там много, просто включить их довольно затруднительно, поэтому включать будут не скоро и постепенно.

Автор: blueboar2

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js