- PVSM.RU - https://www.pvsm.ru -

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

Возможно еще не все осознали, но Joomla давно разделилась на две части — Joomla CMS и Joomla Framework. Последний имеет версию 11.4 [1], но усиленно пилится [2] версия 12.1. Изначально планировалось, что фреймворк будет выходит раз в квартал, однако в этот год [3] решили выпустить только три версии — 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 усиленно пилится — раз [4], два [5] и три [6]
  2. Новый пакет HTTP [7], куда попала функциональность, связанная с HTTP-протоколом, в частности потоки, сокеты, CURL. Класс для получения и работы со всем этим называется JHTTPFactory и находится в /libraries/joomla/http/factory.php
  3. Добавлен класс JStringInflector [8] (Joomla/String/Inflector.php). Позволяет производить разные действия со словами, например узнавать их число, переводить в единственное/множественное число. Пока поддерживается только английский язык, но есть возможность добавлять свои правила единственного-множественного числа (в виде регэкспов, функция _addRule)
  4. Появился новый пакет CRYPT [9] (Joomla/Crypt) с поддержкой методов шифрования 3DES/BLOWFISH/RIJNDAEL256/SIMPLECRYPT. Старое шифрование (joomla/utilities/simplecrypt.php) объявлено DEPRECATED и перенаправляется на новую библиотеку. Для шифрования используется расширение PHP mcrypt.
  5. В классе JDocument появился новый подкласс JDocumentImage [10], отвечающий за рендеринг изображений. Правда пока он просто вызывает parent::render, предварительно определив MIME-тип картинки по расширению.
  6. Создан файл libraries/import.legacy.php [11], который импортирует некоторые 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. Патчер файловой системы [12] по DIFF-файлам (libraries/joomla/filesystem/patcher.php). Взят из проекта phppatcher [13]
  9. Добавлена возможность использования memcached [14] в качестве кеша
  10. Библиотека Mootools обновлена [15] до версии 1.4.4, совместимость с версией 1.2 больше не поддерживается. PHPMailer также обновлен [16] до версии 5.2.1

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

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

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

Автор: blueboar2


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/3175

Ссылки в тексте:

[1] 11.4: https://github.com/joomla/joomla-platform/commit/4329ba0c4c0df438afa70a8e222dcf278fdb78ec

[2] пилится: https://github.com/joomla/joomla-platform/

[3] в этот год: https://groups.google.com/forum/#!topic/joomla-dev-platform/eH1E0vFbrUo

[4] раз: https://github.com/joomla/joomla-platform/pull/961

[5] два: https://github.com/joomla/joomla-platform/pull/917

[6] три: https://github.com/joomla/joomla-platform/pull/532

[7] Новый пакет HTTP: https://github.com/joomla/joomla-platform/commit/c4c46edbddf1456eb2fec858152cac15a04454a0

[8] JStringInflector: https://github.com/joomla/joomla-platform/commit/b97f63c9249634983327f1fc4235650a2e4abad5

[9] CRYPT: https://github.com/joomla/joomla-platform/commit/de14a969a7626bd7b28814ca7bf225e6d8a911ae

[10] JDocumentImage: https://github.com/joomla/joomla-platform/commit/929fef65f5ddde376b357af53f0f5db42f364940

[11] libraries/import.legacy.php: https://github.com/joomla/joomla-platform/commit/12f00b8273b0b2132e64466a1ee0aa192d5bd5dc

[12] Патчер файловой системы: https://github.com/joomla/joomla-platform/commit/8b549d9fe320fc6a332e56e7a544f82e20ca7b47

[13] phppatcher: http://sourceforge.net/projects/phppatcher/

[14] возможность использования memcached: https://github.com/joomla/joomla-platform/commit/11b585e74c3e49a434422a7dbee651ff0833a14f

[15] обновлена: https://github.com/joomla/joomla-platform/commit/85076767c94236c2ff799ee60e3044164ff1b9ac

[16] обновлен: https://github.com/joomla/joomla-platform/commit/9c68148a3ab14d06c3e9f911c71c6ddf16efa6de

[17] Новый FEED-класс: https://github.com/LouisLandry/joomla-platform/tree/feed/libraries/joomla/feed

[18] Пакет SEARCH.: https://github.com/LouisLandry/joomla-platform/tree/search/libraries/joomla/search

[19] Пакет STREAMS: https://github.com/LouisLandry/joomla-platform/tree/streams/libraries/joomla/streams

[20] Пакет COMMERCE: https://github.com/LouisLandry/joomla-platform/tree/commerce/libraries/joomla/commerce

[21] один из своих проектов: http://joomlaportal.ru/content/view/2176/70/

[22] здесь: https://groups.google.com/forum/#!searchin/joomla-dev-platform/ebay|sort:relevance/joomla-dev-platform/sqdZ0B_WCiQ/uuglzpSbf3QJ