Yii *
Фреймворк, реализующий парадигму MVC
Время высокой точности: как работать с долями секунды в MySQL и PHP
Однажды я поймал себя на мысли, что при работе со временем в базах данных почти всегда использую время с точностью до секунды просто потому, что я к этому привык и что именно такой вариант описан в документации и огромном количестве примеров. Однако сейчас такой точности достаточно далеко не для всех задач. Современные системы сложны — они могут состоять из множества частей, иметь миллионы пользователей, взаимодействующих с ними, — и во многих случаях удобнее использовать бОльшую точность, поддержка которой уже давно существует.
В этой статье я расскажу про способы использования времени с дробными частями секунды в MySQL и PHP. Она задумывалась как туториал, поэтому материал рассчитан на широкий круг читателей и местами повторяет документацию. Основную ценность должно представлять то, что я собрал в одном тексте всё, что нужно знать для работы с таким временем в MySQL, PHP и фреймворке Yii, а также добавил описания неочевидных проблем, с которыми можно столкнуться.
Я буду использовать термин «время высокой точности». В документации MySQL вы увидите термин “fractional seconds”, но его дословный перевод звучит странно, а другого устоявшегося перевода я не нашёл.
YIMP — Панель управления для Yii 2 на Bootstrap 4
Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарело. Пришло время переписывать.
Работая над новой версией, я постарался обобщить весь свой опыт по этой теме, и в результате получился YIMP — велосипед, которым не стыдно поделиться: GitHub, LiveDemo, API Documentation.
YIMP очень прост. Но за этой простотой стоят долгие размышления, которыми я тоже хочу поделиться. Так что эта статья — не инструкция. Здесь мы поговорим об архитектуре, управлении зависимостями, парадигме MVC, ну и о пользовательском интерфейсе, конечно.
Истории
Yii framework 2 custom rights
Интервью с Александром Макаровым, Yii core team
Начну с вопроса, который тебе задают постоянно. Что с Yii? Когда Yii 3? Я довольно долгое время наблюдаю активное создание новых пакетов в github.com/yiisoft
С Yii всё нормально. Ну почти. Чтобы объяснить, нужно немного посмотреть назад.
Когда мы делали версию 2.0 мы несколько переоценили свои силы. Оно и понятно, Qiang Xue сворачивал горы каждый день и казалось нам по силам всё и сразу.
Потом, к сожалению, времени на OpenSource у него не хватило, и поддержка сделанного скушало всё время остальной команды. Ну а так как фуллтайм фреймворком никто не занимался, это выливалось в то, что релизы были не частыми и большими. Вдобавок, при проектировании тогда мы наделали ошибок. Сейчас мне они кажутся очевидными, но тогда мы думали, что так хорошо. Их, к счастью, не так много. Они не делают Yii 2.0 плохим, фреймворк вышел хороший. Но они вылились со временем в то, что обещание обратной совместимости, множество фич и дефицит времени дали нам проблемы с развитием фреймворка: внедрением PSR, ухода от закрытости к общим для всего PHP пакетам и библиотекам, улучшением по части применения более сложных подходов к разработке, лучшей тестируемости.
Ближайшие события
Используем Yii2. Пишем очередную CMS или попытка значительно ускорить разработку при минимальных накладных расходах
Идея проекта yicms заключалась в том, чтобы собрать все наработки для фреймворка Yii2, которые казались удобными в некую систему, во главе угла которой должно ставиться удобство использования, гибкость и возможность с помощью ее инструментов значительно ускорить разработку типовых сайтов. Данный проект разрабатывался мной для «души», однако в настоящий момент он уже находится в стадии беты.
Генератор CRUD-виджета для Yii
С точки зрения моделирования данных, и то, и другое — “вложенные” сущности, которые не имеют самостоятельного значения в отрыве от родительского объекта.
В Yii (php framework) есть Gii — встроенный генератор кода, который позволяет в несколько кликов мышкой создавать базовые CRUD-интерфейсы по модели данных, которые значительно ускоряют разработку, но применимы только для самостоятельных сущностей, как статья или машина в примерах выше.
Было бы здорово, чтобы можно было сгенерировать что-то подобное для “вложенных” объектов данных, верно? Теперь — можно, добро пожаловать под кат за подробностями.
Вклад авторов
pronskiy 3928.0SamDark 1882.7AlexLeonov 218.0rosko 206.4spasibo_kep 124.1Nodge 124.0slavcopost 115.0SilverFire 90.0varanio 81.0