Awilum
Постоялец
- Регистрация
- 11 Июл 2010
- Сообщения
- 161
- Реакции
- 120
- Автор темы
- #71
Дорогие Друзья!
Рад вам сообщить о выходе новой версии движка Flextype 0.9.0!
Это важный релиз для проекта, так как он определяет дальнейшее направление в его развитии! Движок переписан с нуля в соответствие с современными стандартами. Flextype все ближе к Headless системами и все дальше от своего предка Monstra CMS.
Для релиза Flextype 0.9.0 было потрачено более 450 часов на исследование, разработку и тестирование! Запушено более 1200 коммитов в репозитории проекта и уничтожено десятки литров кофе!
Основные изменения в новой Flextype 0.9.0
#1 Новое Flextype API
Движок полностью переписан с нуля. Теперь API для разработчиков более прозрачное и понятное, методы и параметры стандартизированы и приведены к одному общему виду. В ядро Flextype API входят: Entries API, Plugins API, Snippets API, Fieldsets API.
Также для теста написаного кода движка используется Scrutinizer Continuous Integration!
Continuous Integration (Непрерывная интеграция) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.
Flextype Public API появится в следующих релизах движка.
#2 Slim Framework
Еще со времен Monstra CMS была проблема в отсутствии нормального роутинга, и эта же проблема пришла в Flextype. Роутинга у нас не было, были только методы для работы с URI. В поисках лучшего Роутера, был выбран мощный микрофреймворк Slim.
Slim Framework - это идеальный инструмент для создания API, которые используют, переиспользуют какие-либо данные или же предоставляют к ним доступ. C помощью микрофреймворка Slim можно создавать полнофункциональные web-приложения с пользовательским интерфейсом. Он очень быстрый, имеет небольшую кодовую базу - только то, что нужно!
#3 Twig Template Engine
Много лет в Monstra CMS теперь и в Flextype (до 0.9.0) использовался нативный PHP в роли шаблонизатора, но с переходом на Slim Framework и его простой интеграцией с современным шаблонизатором Twig было принято решение перейти на Twig окончательно!
Основные особенности Twig:
- Быстрый: компилирует шаблоны в PHP код. Добавочный, относительно нативного PHP, код был сведен к минимуму.
- Безопасный: есть режим «песочницы» для проверки сомнительного кода в шаблонах. Это позволяет использовать Twig в качестве языка шаблонов для приложений, где пользователи могут менять дизайн шаблонов.
- Гибкий: основан на пластичном лексере и парсере. Это позволяет разработчику определять свои собственные тэги и фильтры, создавать свой DSL.
#4 League Glide
Полная интеграция с библиотекой League Glide для произведения манипуляций с изображениями. Никаких костылей или хаков как это в текущей было в предыдущих версиях Flextype. В Flextype 0.9.0 полная нативная поддержка League Glide! Работать с изображениями можно будет просто через API как это делает например imgix.com.
#5 Respect Validation
В новой Flextype 0.9.0 используется Respect Validation для валидации данных. Respect Validation - это самый лучший валидатор, который когда либо был написан на PHP. Он предоставляет более 100 (полностью протестированных) валидаторов.
#6 Переход на JSON вместо YAML
Переходим c YAML на JSON! Хранение данных в JSON формате позволит в будущем их располагать не только в файлах (Flat File) но и например в MongoDB или PostgreSQL (с помощью драйвера). Я думаю что такой подход поможет масштабируемостью проектов разработанных на Flextype в будущем.
#7 Плагины Site и Admin
Вместе с новой Flextype 0.9.0, появился новый плагин Site и переписанный плагин Admin. По сути теперь Flextype предоставляет простой и понятный программный API для работы с данными, а плагины решают, что с этими данными делать. В следующих релизах Flextype появится и Public API, который позволит создавать приложения любой сложности для любых устройств используя Flextype Public API как в Headless CMS
#8 League Event
В Flextype 0.9.0 используется простая, но эффективная библиотека для работы с событиями системы League Event вместо Flextype Events.
#9 Whoops Error Handler
В Flextype 0.9.0 используется небольшая библиотека/фреймворк для работы с ошибками и исключениями в PHP вместо Flextype Error Handler.
Whoops — это небольшая библиотека/фреймворк для работы с ошибками и исключениями в PHP. Из коробки он предоставляет аккуратный и удобный интерфейс, который помогает вести разработку быстро.
Основные особенности Whoops:
- Гибкий стековый перехват ошибок
- Не требует зависимостей (на данный момент)
- Простое API для работы с исключениями, фреймами стека вызовов и их данными
- Включает информативную страницу ошибки
- Возможность открыть указанный файл прямо в вашем IDE/редакторе
- Включает обработчики для разных форматов ответа (JSON, XML, SOAP)
- Легко расширяется и легко интегрируется в другие библиотеки и фреймворки
- Аккуратный, хорошо структурированный и протестированный код
Также Whoops позволяет открывать файлы сразу в IDE. На данный момент whoops из коробки поддерживает следующие IDE/редакторы:
- Emacs
- IDEA
- MacVim
- PhpStorm (только для MacOS)
- Sublime Text 2 и возможно 3
- Textmate
- xdebug-формат
- VSCode
#10 Slugify
В Flextype 0.9.0 используется небольшая, но мощная библиотека Slugify для создания безопасных и человекочитаемых slug.
slug - это часть URL-адреса, которая идентифицирует страницу, используя человекочитаемые ключевые слова.
Чтобы сделать URL-адрес проще для пользователей, специальные символы часто удалены или заменены. Например, акцентированные символы обычно заменяются буквами английского алфавита; пунктуация метки обычно удаляются; и пробелы (которые должны быть закодированы как %20 или +) заменены тире (-) или символом подчеркивания (_), которые более эстетично.
Полный список изменений в Flextype 0.9.0 можете посмотреть в Для просмотра ссылки Войдиили Зарегистрируйся
Скачать Flextype 0.9.0:
Для просмотра ссылки Войдиили Зарегистрируйся
Планы на ближайшее будущее:
- Адаптировать существующие плагины для Flextype 0.9.0
- Поиск и исправление ошибок, улучшение движка.
- Обновление документации
- Создание уроков и статей по работе с Flextype.
Буду рад любой вашей помощи проекту!
Несколько способов поддержать проект:
— Поставить лайк и сделать репост этого поста.
— Разместить ссылку на flextype.org в своем профиле на сайтах и форумах c кратким описанием проекта.
— Написать статью или пост на любом тематическом форуме о проекте Flextype.
— Принимать активное участие в обсуджениях сообщества Flextype! (VK, DISCORD, GITHUB)
— Создавать и поддерживать переводы Админки.
— Находить баги и сообщать о них на GitHub-e.
— Стать спонсором проекта, поддержать денежкой, для оплаты хостинга, и часов разработки.
Рад вам сообщить о выходе новой версии движка Flextype 0.9.0!
Это важный релиз для проекта, так как он определяет дальнейшее направление в его развитии! Движок переписан с нуля в соответствие с современными стандартами. Flextype все ближе к Headless системами и все дальше от своего предка Monstra CMS.
Для релиза Flextype 0.9.0 было потрачено более 450 часов на исследование, разработку и тестирование! Запушено более 1200 коммитов в репозитории проекта и уничтожено десятки литров кофе!
Основные изменения в новой Flextype 0.9.0
#1 Новое Flextype API
Движок полностью переписан с нуля. Теперь API для разработчиков более прозрачное и понятное, методы и параметры стандартизированы и приведены к одному общему виду. В ядро Flextype API входят: Entries API, Plugins API, Snippets API, Fieldsets API.
Также для теста написаного кода движка используется Scrutinizer Continuous Integration!
Continuous Integration (Непрерывная интеграция) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.
Flextype Public API появится в следующих релизах движка.
#2 Slim Framework
Еще со времен Monstra CMS была проблема в отсутствии нормального роутинга, и эта же проблема пришла в Flextype. Роутинга у нас не было, были только методы для работы с URI. В поисках лучшего Роутера, был выбран мощный микрофреймворк Slim.
Slim Framework - это идеальный инструмент для создания API, которые используют, переиспользуют какие-либо данные или же предоставляют к ним доступ. C помощью микрофреймворка Slim можно создавать полнофункциональные web-приложения с пользовательским интерфейсом. Он очень быстрый, имеет небольшую кодовую базу - только то, что нужно!
#3 Twig Template Engine
Много лет в Monstra CMS теперь и в Flextype (до 0.9.0) использовался нативный PHP в роли шаблонизатора, но с переходом на Slim Framework и его простой интеграцией с современным шаблонизатором Twig было принято решение перейти на Twig окончательно!
Основные особенности Twig:
- Быстрый: компилирует шаблоны в PHP код. Добавочный, относительно нативного PHP, код был сведен к минимуму.
- Безопасный: есть режим «песочницы» для проверки сомнительного кода в шаблонах. Это позволяет использовать Twig в качестве языка шаблонов для приложений, где пользователи могут менять дизайн шаблонов.
- Гибкий: основан на пластичном лексере и парсере. Это позволяет разработчику определять свои собственные тэги и фильтры, создавать свой DSL.
#4 League Glide
Полная интеграция с библиотекой League Glide для произведения манипуляций с изображениями. Никаких костылей или хаков как это в текущей было в предыдущих версиях Flextype. В Flextype 0.9.0 полная нативная поддержка League Glide! Работать с изображениями можно будет просто через API как это делает например imgix.com.
#5 Respect Validation
В новой Flextype 0.9.0 используется Respect Validation для валидации данных. Respect Validation - это самый лучший валидатор, который когда либо был написан на PHP. Он предоставляет более 100 (полностью протестированных) валидаторов.
#6 Переход на JSON вместо YAML
Переходим c YAML на JSON! Хранение данных в JSON формате позволит в будущем их располагать не только в файлах (Flat File) но и например в MongoDB или PostgreSQL (с помощью драйвера). Я думаю что такой подход поможет масштабируемостью проектов разработанных на Flextype в будущем.
#7 Плагины Site и Admin
Вместе с новой Flextype 0.9.0, появился новый плагин Site и переписанный плагин Admin. По сути теперь Flextype предоставляет простой и понятный программный API для работы с данными, а плагины решают, что с этими данными делать. В следующих релизах Flextype появится и Public API, который позволит создавать приложения любой сложности для любых устройств используя Flextype Public API как в Headless CMS
#8 League Event
В Flextype 0.9.0 используется простая, но эффективная библиотека для работы с событиями системы League Event вместо Flextype Events.
#9 Whoops Error Handler
В Flextype 0.9.0 используется небольшая библиотека/фреймворк для работы с ошибками и исключениями в PHP вместо Flextype Error Handler.
Whoops — это небольшая библиотека/фреймворк для работы с ошибками и исключениями в PHP. Из коробки он предоставляет аккуратный и удобный интерфейс, который помогает вести разработку быстро.
Основные особенности Whoops:
- Гибкий стековый перехват ошибок
- Не требует зависимостей (на данный момент)
- Простое API для работы с исключениями, фреймами стека вызовов и их данными
- Включает информативную страницу ошибки
- Возможность открыть указанный файл прямо в вашем IDE/редакторе
- Включает обработчики для разных форматов ответа (JSON, XML, SOAP)
- Легко расширяется и легко интегрируется в другие библиотеки и фреймворки
- Аккуратный, хорошо структурированный и протестированный код
Также Whoops позволяет открывать файлы сразу в IDE. На данный момент whoops из коробки поддерживает следующие IDE/редакторы:
- Emacs
- IDEA
- MacVim
- PhpStorm (только для MacOS)
- Sublime Text 2 и возможно 3
- Textmate
- xdebug-формат
- VSCode
#10 Slugify
В Flextype 0.9.0 используется небольшая, но мощная библиотека Slugify для создания безопасных и человекочитаемых slug.
slug - это часть URL-адреса, которая идентифицирует страницу, используя человекочитаемые ключевые слова.
Чтобы сделать URL-адрес проще для пользователей, специальные символы часто удалены или заменены. Например, акцентированные символы обычно заменяются буквами английского алфавита; пунктуация метки обычно удаляются; и пробелы (которые должны быть закодированы как %20 или +) заменены тире (-) или символом подчеркивания (_), которые более эстетично.
Полный список изменений в Flextype 0.9.0 можете посмотреть в Для просмотра ссылки Войди
Скачать Flextype 0.9.0:
Для просмотра ссылки Войди
Планы на ближайшее будущее:
- Адаптировать существующие плагины для Flextype 0.9.0
- Поиск и исправление ошибок, улучшение движка.
- Обновление документации
- Создание уроков и статей по работе с Flextype.
Буду рад любой вашей помощи проекту!
Несколько способов поддержать проект:
— Поставить лайк и сделать репост этого поста.
— Разместить ссылку на flextype.org в своем профиле на сайтах и форумах c кратким описанием проекта.
— Написать статью или пост на любом тематическом форуме о проекте Flextype.
— Принимать активное участие в обсуджениях сообщества Flextype! (VK, DISCORD, GITHUB)
— Создавать и поддерживать переводы Админки.
— Находить баги и сообщать о них на GitHub-e.
— Стать спонсором проекта, поддержать денежкой, для оплаты хостинга, и часов разработки.