Дорогие Друзья!

Рад вам сообщить о выходе новой версии движка Flextype 0.9.9!

В Flextype 0.9.9 достаточно много важных изменений определяющих — то как будет выглядеть финальная версия Flextype 1.0.0, к которой я иду уже более двух лет!

Были пересмотрены, обновлены и переписаны ключевые моменты ядра, ответственные за работу с Записями, Коллекциями, Кешем и Rest API.

Прирост производительности на 30%

Было пересмотренно, то как производится выборка записей и их кеширование. Удалено большое количество лишней логики в Entries API, которая ухудшала производительности системы при работе с коллекциями!

Практически, Entries API был переписанные с нуля!

Новая кодовая база и новый подход к кешированию позволил получить прирост производительности систем на 30%. Отныне ядром Flextype кешируются только индивидуальные записи (Single), а так же все результаты серилизации/десериализация данных и парсеров.

Коллекции кешироваться должны отдельно. На уровне взаимодействия с ними, в плагинах, темах и тд. В Flextype 0.9.9 драйвером кеширования по умолчанию установлен PHP Array File Cache, который позволил повысить производительность системы в целом, благодаря кешированию данных в таком виде, в котором эти данные уже готовы к использованию и не требуется дополнительных манипуляций по их извлечению.

Flextype 0.9.9 отлично себя чувствует с базой в 517 712 страниц!
Подробнее об этом эксперименте в статье: https://vk.com/@flextype-flat-file-cms-i-chto-s-nimi-ne-tak

Новые возможности Entries API.

Переписывание Entires API принесло не только прирост производительности системы в целом, но и дополнительные новые возможности!

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

Метод fetchCollection() все так же принимает массив $filter с заданными параметрами фильтрации, но этих параметров в Flextype 0.9.9 стало больше благодаря новому функционалу для работы с коллекциями Сollection и новому функционала для поиска файлов Finder.

Flextype 0.9.9 предлагает богатый и продуманный функционал по поиску и выборке записей и файлов. Также появились новые события в Entires API. Смотрите документацию по работе с записями: (https://docs.flextype.org/en/core/entries](https://docs.flextype.org/en/core/entries)

Новый функционал для работы с коллекциями.

В Flextype 0.9.9 самая совершенная и убодная функциональность для работы с коллекциями основаная на Doctine Collections! Благодаря собственной обвёртке над Doctine Collections, удалось создать функциональность для работы с коллекциями данных гораздо функциональнее и удобнее чем в какой либо другой CMS на файлах!

Смотрите документацию по работе с коллекциями: https://docs.flextype.org/en/core/collections

Новый функционал для работы с файлами.

Благодаря новому компоненту Symfony Finder в Flextype 0.9.9 можно производить поиск файлов и папок по заданным критериям поиска, а также делать более сложные выборки записей в Entires API.

Смотрите документацию по работе с файлами: https://docs.flextype.org/en/core/finder

Обновленный Cache API

Flextype 0.9.9 все так же использует Doctrine Cache под капотом, но появились новые методы для работы с кешем и улучшены старые, а также появилась возможность влиять на поведения очистки кеша с помощью новых событий.

Смотрите документацию по работе с кешем: https://docs.flextype.org/en/core/cache

Media API

В Flextype 0.9.9 появилась новая функциональность для работы с медиа файлами.

Смотрите документацию по работе с Media API: https://docs.flextype.org/en/core/media

Новый функционал для работы с парсерами и сериализаторами.

Было пересмотренно, то как Flextype работает с парсерами и сериализотарми и полностью переписав эту часть мы получаем гибкий и более удобный иструмент для работы с встроенными парсерами и сериализаторами, а также любыми другими, которые легко можно добавить в ядро с помощью плагинов.

Новый универсальный Rest API

Было принято решение отказаться от разделения Rest API на группы Delivery, Management, Access, для того чтобы упростить создание новых точек входа в API ядром и плагинами, так как больше нет необходимости задуматься о том к какой категории это API должно принадлежать.

Каждый новый плагин может предоставить свой собственный Rest API!

Подробнее c полным списком изменений, а так же о процедуре обновления 0.9.8 > 0.9.9 можно ознакомится здесь: https://github.com/flextype/flextype/releases/tag/v0.9.9

Date: 05-08-2020 09:46 Теги: релиз