Русскоязычное сообщество Yii
Yii — это высокоэффективный основанный на компонентной структуре PHP-фреймворк для разработки масштабных веб-приложений. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить процесс веб-разработки. Название Yii (произносится как Yee или [ji:]) означает простой (easy), эффективный (efficient) и расширяемый (extensible).
2.0.49
Быстрый, безопасный и профессиональный PHP Framework
Быстрый
Yii запускает только то, что используется, имеет мощную систему кэширирования и изначально нацелен на отличную работу с AJAX.
Безопасный
В Yii есть всё для обеспечения безопасности: валидация, фильтрация, защита от SQL-инъекций и XSS.
Профессиональный
Yii помогает писать чистый гибкий код. Фреймворк следует MVC и чётко отделяет логику от отображения.
Новости - yiiframework.ru
Опубликовать пост
Новости Yii 2023, выпуск 2

https://habr.com/ru/articles/737662/

Всем привет! Это Александр Макаров и второй выпуск Yii новостей в этом году.

С момента последнего выпуска в феврале прошло 3 месяца. Мы стремились ускорить разработку Yii3, но также продолжали поддерживать Yii1 и Yii2. Несмотря на ограниченные средства для разработки, за последние несколько месяцев удалось достичь определённого прогресса. Давайте разберём более детально, что было сделано.

читать далее...

Новости Yii 2022, выпуск 2

https://habr.com/ru/post/700420/

Всем привет!

С вами снова Александр. Прошлый выпуск был второго мая и после этого наступила тишина. В очередной раз не потому, что ничего не происходило, а совсем наоборот. Происходило всё и сразу. В конце сентября я поехал на конференцию и, вместо возвращения домой к семье, оказался в Ереване, столице Армении. Оттуда и пишу этот выпуск.

Что касается разработки, прогресс отличный несмотря на то, что происходит в мире в общем и в странах членов команды в частности.

А теперь перейдём к интересным событиям, произошедшим с прошлого выпуска новостей.

Команда, фонд и сообщество

  • @yiiliveext покинул команду. От всей команды спасибо за участие и действительно отличный код и решения.
  • Запустили канал в Telegram на английском.
  • Английскую версию Yii Chronicles обновлять сил не хватило. Если хотите этим заняться, пишите. Русская версия жива и регулярно обновляется.
  • Расходы фонда больше доходов. Активно покупаем больше времени для членов команды Yii3. Сейчас это Алексей Рогачёв, Wilmer Arambula и Рустам Мамадаминов. В таком режиме средств хватит примерно на полтора месяца.
  • Члены команды запустили несколько блогов: Виктор Бабанов, Александр Макаров.
  • Ищем тех, кто хочет заняться поддержкой и релизами Yii2. Главные цели — исправление ошибок и более частые релизы.

Инфраструктура

  • Создали свой репозиторий GitHub actions чтобы избежать дублирования и удобнее обновлять экшны в пакетах.
  • Composer require checker теперь проверяет транзитивные зависимости наших пакетов. Такие зависимости — штука нехорошая.
  • Rector помогает нам обновлять код, когда мы повышаем минимальную версию PHP. Работает в паре с StyleCI, который правит стиль кода.

Yii 1

Yii 2

Расширения:

Yii 3

Новые стабильные пакеты:

На подходе ещё пакеты. Сейчас главная цель — валидатор. Релиз уже скоро, и я смело могу заявить, что это один из самых сложных для нас пакетов. Он был более-менее готов уже в мае, но нам не очень нравилась его архитектура. С тех пор:

  • Разделили правила и их обработчики. В обработчиках теперь автоматически подтягиваются зависимости.
  • Добавили правило "composite". Оно позволяет сочетать другие правила. Убрали GroupRule.
  • Улучшили сами правила. Причесали синтаксис. Всё стало более логично и единообразно. Закончили поддержку атрибутов и вложенной валидации.
  • Вычистили интерфейсы и общий синтаксис.
  • Разобрались с переводами строк.

Обновления пакетов:

❌ Часть пакетов были помечены как deprecated и заархивированы:

Новости, статьи и инструменты

❤️ Спасибо!

Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится!

  • CraftCMS - Отличная OpenSource CMS на Yii2.
  • Onetwist Software - Услуги качественной разработки приложений.
  • SkillShare - Обучение новым навыкам.
  • dmstr - Облачные решения на основе Docker.
  • HumHub - OpenSource решения для общения команды.
  • JetBrains - Отличные инструменты для разработки.
  • Mighty - Дизайн и вебтех.
  • Emberware - Сервисы по цифровой трансформации.
  • Dudesqare - Веб-студия.
  • EFKO Group - фудтех, производство продуктов питания, и венчурные инвестиции. С недавнего времени ещё и ЭФКО Цифровые Решения, отдельная растущая сервисная IT-компания, которая планирует заниматься не только внутренними проектами ЭФКО.
  • PELock - Защита и лицензирование ПО.
  • Italian Linux Society - Итальянская ассоциация, популяризующая Linux, бесплатное и Open Source ПО.
  • Icons8 - Магазин пиктограмм, иллюстраций, фотографии, музыки и инструментов дизайнера.

Отдельное спасибо AHost как за вложения в фонд, так и за то, что спонсировали лично Рустама Мамадаминова в течение нескольких месяцев.

Кроме перечисленных нас поддерживают отдельные разработчики и другие компании.

Отдельное спасибо тем, кто помог Yii 3 кодом:

читать далее...
Новости Yii 2022, выпуск 1

Всем привет!

Мы думали, что 2021 был тяжёлым годом из-за COVID. Текущий 2022 очень неприятно удивил.

Начался он с потери важного члена сообщества и отличного человека, Юлии "Insolita". Продолжился тем, что Россия начала полновесную военную операцию в Украине.

На данный момент:

  1. Украинской части команды и сообщества, естественно, не до OpenSource. Хотя ребята умудряются что-то небольшое делать, что, несомненно, невероятно круто!
  2. Александр Макаров, @samdark, временно работает над Yii сильно меньше. Пытается исправить психологические проблемы, вызванные всей этой ситуацией. Большинство того, чем он занимался ранее, теперь делают другие члены команды.
  3. Фонд на OpenCollective больше не может быть использован или пополнен из России. Сейчас фонд используется членами команды из других стран, так что нам как никогда нужна ваша поддержка. Если вы хотите поддержать российскую часть команды, больше подойдёт Boosty.
  4. Доступы и разная внутренняя информация теперь есть у многих членов команды. Ответственность также частично общая. Это позволяет приблизить проект к состоянию антихрупкости, то есть проект будет продолжаться даже в такие тяжелые времена как сейчас, когда значительная часть команды заниматься им не может.

Есть и хорошие новости:

  1. @yiiliveext снова онлайн! Он жив и в относительной безопасности. Возвращаться к работе над OpenSource пока не планирует.
  2. Алексей Рогачёв закончит работу над ApiDoc исправив множество проблем и реализовав разные улучшения. После этого он присоединился к разработке Yii 3. Он из Казахстана и, соответственно, использует фонд чтобы работать только над фреймворком.
  3. Валерий Горбачёв и Wilmer Arambula значительно продвинулись в рефакторинге пакетов для работы с базами данных.

Несмотря на всё что происходит, разработка фреймворка не остановилась. Мы верим, что OpenSource — это что-то лучшее, что-то что всё ещё может нас объединить, что-то общее. Конечно, темпы разработки сейчас упали, но нам удаётся как разрабатывать Yii3, так и поддерживать Yii2 и Yii1.

А теперь перейдём к интересным событиям, произошедшим с прошлого выпуска новостей.

Yii 1

Marco van 't Wout, занимающийся Yii 1, приготовил pull request с поддержкой PHP 8.1. Также он обновил патчи для PHPUnit 4 которые позволяют нам запускать тесты на PHP 5.3 — PHP 8.1. Если у вас есть проекты на Yii1, попробуйте свежий код на PHP 8.1.

Yii 2

Yii 3

Новые стабильные пакеты:

Обновления пакетов:

Новости и статьи

❤️ Спасибо!

Хочу сказать спасибо всем спонсорам и разработчикам, благодаря которым стала возможна разработка Yii 3. Вместе у нас всё получится!

  • CraftCMS - Отличная OpenSource CMS на Yii2.
  • Onetwist Software - Услуги качественной разработки приложений.
  • SkillShare - Обучение новым навыкам.
  • dmstr - Облачные решения на основе Docker.
  • HumHub - OpenSource решения для общения команды.
  • JetBrains - Отличные инструменты для разработки.
  • Mighty - Дизайн и вебтех.
  • Emberware - Сервисы по цифровой трансформации.
  • Dudesqare - веб-студия.
  • EFKO Group - фудтех, производство продуктов питания, и венчурные инвестиции. С недавнего времени ещё и ЭФКО Цифровые Решения, отдельная растущая сервисная IT-компания, которая планирует заниматься не только внутренними проектами ЭФКО.
  • PELock - Защита и лицензирование ПО.
  • Italian Linux Society - Итальянская ассоциация, популяризующая Linux, бесплатное и Open Source ПО.

Кроме перечисленных нас поддерживают отдельные разработчики и другие компании.

Отдельное спасибо тем, кто помог Yii 3 кодом:

читать далее...
Состояние фонда и Boosty

Здравствуйте!

Обычно мы радуем вас хорошими новостями, релизами и просто интересными ссылками, а сегодня у нас важное объявление.

У Yii всегда была интернациональная команда, значительная часть которой находится в России. Из-за отключения страны от таких систем, как Visa, Mastercard и SWIFT стало невозможно взаимодействовать с OpenCollective: наши спонсоры из РФ больше не могут вносить платежи, а разработчики из РФ - получать выплаты.

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

К сожалению, в России нет прямых аналогов OpenCollective. Мы думали, чем его заменить, рассматривались в том числе и криптовалютные инструменты, но в итоге мы остановились на Бусти: https://boosty.to/yiisoft. Как и OpenCollective, это сервис сбора добровольных пожертвований. Но, есть важное отличие: он не позволяет прозрачно распределять средства. Этот момент мы берём на себя: раз в месяц на Бусти будет публиковаться отчёт с суммами пришедших и потраченных денег:

  • Входящая сумма
  • Общая сумма за месяц
  • Когда кому сколько за что было выплачено
  • Остаток на счёте этого фонда.

Приятная новость состоит в том, что комиссия здесь ниже.

Как и на OpenCollective, тут можно как делать разовые взносы, так и оформлять ежемесячную подписку на произвольные суммы. Это не полный переезд на Бусти, предпочтительным способом финансирования фонда по-прежнему является OpenCollective. Бусти же - это временная мера, призванная помочь нам в финансировании русской части команды.

Если вы до сих пор сомневались, стоит ли помочь копеечкой и когда лучше это сделать - знайте: сейчас - самое время. Даже 100 рублей имеют значение. Мы очень ценим вашу поддержку, а в этой непростой ситуации - нуждаемся в ней сильнее обычного.

https://boosty.to/yiisoft

читать далее...
Как помочь с релизом Yii3

Фреймворк Yii в свое время полюбился многим: простой, быстрый, прозрачный, он позволяет и быстро создавать MVP, и развивать архитектурно сложные программные комплексы.

Однако, время идет, и Yii2 перестает отвечать требованиям современного разработчика. На смену ему приходит Yii3, уже давно со всех сторон слышен один вопрос: "Когда релиз?". Релиз будет :) И вы можете ускорить его приход. А еще - получить некоторое преимущество в глазах HR'ов и тимлидов при найме и просьбе повысить зарплату.

Про возможность помочь финансово, чтобы core-разработчики могли оплатить себе больше времени работы над нашим любимым фреймворком, все уже знают. Но если вдруг нет, вот ссылка: https://opencollective.com/yiisoft. Помните: 100 рублей - тоже вклад. И огромное спасибо всем, кто уже помог нам копеечкой.

Как помочь фреймворку кодом?

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

Итак, с чего же начать?

  1. Выбрать тикет по душе. Можно воспользоваться одной из ссылок ниже:

    • https://github.com/search?q=org:yiisoft is:issue is:open label:"good first issue" - воспользуйтесь этой, если совсем не уверены в своих силах. Лейблом "good first issue" помечены самые простые тикеты, на уровне переименования функций, изменения текста и переноса класса из одной папки в другую. Отличный вариант, чтобы впервые попробовать законтрибьютить что-то на гитхабе.
    • https://github.com/search?q=org:yiisoft is:issue is:open label:"status:ready for adoption" - это список всех открытых и готовых к реализации тикетов. Можно брать отсюда любой по своему выбору.

    Минус этих ссылок в том, что гитхаб не позволяет фильтровать тикеты по топику репозитория, поэтому вам будут попадаться как тикеты yii3, так и yii2. И даже, возможно, yii1. Поэтому если вам критично контрибьютить именно в yii3, то выбирайте репозитории с топиком yii3. Их имя обычно либо начинается с префикса yii- (например, yii-event), либо вообще его не содержит (например, event-dispatcher).

    Хорошо, вот поиск. Но тикетов много, какой выбрать?

    Начинать лучше с чего-то знакомого. Если вы раньше работали с yii2, то почти наверняка знакомы с виджетами, формами, валидатором, ассетами, алиасами и другими концепциями. Посмотрите, есть ли открытые тикеты в аналогичных пакетах. А может быть, вам ближе построение API (можно посмотреть CORS) или распределенная обработка данных (пакет yii-queue)? Всегда приятнее работать с тем, чем сам потом будешь пользоваться.

  2. Убедитесь, что тикет никем не занят (пустое поле Assignee и в обсуждении тикета никто не написал, что займется им) и займите его сами. Для этого достаточно написать, что вы собираетесь над ним работать. Например, так: "Going to fix this" или "I'll take it". И если в какой-то момент перестали им заниматься (например, нагрузка на работе выросла, и стало понятно, что в ближайшую неделю или месяц вы к тикету не вернетесь) - снова напишите об этом, чтобы его мог взять другой человек (вот вариант, если у вас плохо с английским: "Not working on this ticket anymore, feel free to take it.").

  3. Теперь нужно получить код, над которым вы будете работать. Для этого надо зайти в нужный репозиторий YiiSoft, форкнуть его к себе (кнопка Fork в правом верхнем углу), и уже свой репозиторий клонировать к себе на компьютер. Подробнее о том, как работать с форками, включая создание Pull Request'ов (или PR в простонародии) можно прочесть в документации гитхаба.

  4. Реализовать задачу, описанную в тикете:

    • Сделать изменения в коде.
    • Описать их в двух словах в changelog.md (если пакет уже получил версию хотя бы 1.0.0)
    • Если в репозитории есть тесты (а это так для всех пакетов, кроме совсем "сырых"), в них надо отразить произведенные изменения.
    • Не забыть закоммитить их в отдельную ветку (можно и в master/main, но будет неудобно работать с другими тикетами того же репозитория).
    • Создать Pull Request. Если на момент создания PR или после очередного пуша в ветку с уже созданным PR будут замечания по стилистике кода (code style) автоматика в лице Style CI сделает коммит от имени @samdark.
  5. В уже релизнутых пакетах Psalm настроен на level 1, тестами, написанными с помощью phpunit, покрыто ~100% кода, а за качеством этих тестов следит Infection, красоту же кода проверяет и поддерживает StyleCi. В еще не релизнутых пакетах набор может быть скромнее, но к релизу мы все пакеты дотягиваем до идеала. Этот набор инструментов помогает нам делать действительно качественные релизы. Но если вам по какой-то причине сложно соблюсти все ограничения, накладываемые ими, - не проблема, просто напишите об этом в PR и попросите помощи.

  6. После этого core-команда yii3 проведет code review, и если замечаний не будет, то смержит ваш PR в основную ветку, либо же оставит вопросы/замечания, которые потребуют какой-то реакции с вашей стороны: ответить на вопрос, реализовать в коде сделанное предложение и т.п.

  7. Профит! Мы всегда очень благодарны за любую помощь, будь то PR, новый тикет или финансы. Спасибо, что вы с нами, пользуетесь плодами наших общих трудов и помогаете фреймворку развиваться и двигаться вперед.

И, конечно же, всегда можно задать нам любые вопросы по контрибьютингу, тикетам, фреймворку и т.п. в чате @yii3ru.

(c) Виктор Бабанов, core-команда Yii3

читать далее...
Новости Yii 2021, выпуск 4

С Новым Годом и Рождеством!

С вами Александр Макаров и свежий выпуск новостей Yii.

В новый год с новым Yii!

В этом году было не много выпусков новостей. Этот четвёртый. А вот сделано всего было действительно много. Несмотря на то, что год выдался не из лёгких, я думаю что общий прогресс отличный:

Мы планируем начать 2022 с:

  • Релизов пакетов.
  • Оптимизации производительности.
  • Написания гайда.
  • Обновлений на сайте.
  • Статей про Yii3.
  • И, вероятно, ещё чего-нибудь занятного.

А теперь перейдём к интересным событиям, произошедшим с прошлого выпуска новостей.

читать далее...

Новости Yii 2021, выпуск 3

Привет, сообщество!

Это в очередной раз Александр. Новостей не было довольно долго, но это не потому, что ничего не происходит, а как раз наоборот: происходит всё и сразу. Над Yii3 работать всё приятней так как пакеты стабилизируются, а фреймворк становится более полным.

читать далее...

Новости Yii 2021, выпуск 2

Привет, сообщество!

С вами Александр Макаров, samdark и этой второй выпуск в этом году. Я попросил членов команды написать что-то для вступления, но, похоже, они предпочитают писать код :)

Есть новости по важным обновлениям Yii 3 и набор релизов Yii 2. Также упомянем некоторые интересные проекты, не связанные напрямую с кодом.

читать далее...