<rmcreative>

RSS

Все заметки с тегом «psr»

Можно уточнить:

    (2)
  1. (2)
  2. (2)
  3. (1)
  4. (1)
    (2)
  1. (3)
  2. (1)
  1. Yii 3 и PSR

    21 августа

    На хабре задали интересный вопрос: «зачем пилить свои имплементации шаблонных вещей когда вокруг куча готовых, протестированных, оптимизированных? Не является ли это бутылочным горлышком в процессе реализации фреймворка?»

    Распишу по каждому PSR-у:

    • 1 - Basic Conding Standard. Исплользуем, не переделывали.
    • 3 - Logger Interface. Можно было взять Monolog, но нам нравился концепт логгера из Yii 2 больше, поэтому портировали и почистили. Но можно использовать в своих приложениях и Monolog.
    • 4 - Autoloading Standard. Исплользуем, не переделывали.
    • 6 - Caching Interface. Не используем, см. 16.
    • 7 - HTTP Message Interface. Своё сразу решили не делать. Сначала сравнили всё и выбрали самую лёгкую реализацию Tobias Nyholm. Но потом пришёл Евгений, у которого была ещё более оптимальная реализация. Впоследствии он влился в команду фреймворка.
    • 11 - Container Interface. Контейнер свой потому как стандарт регламентирует только получение зависимостей, а конфигурирование — нет. Сделать удобное конфигруирование как раз задача для фреймворка и то, что его отличает от других. И да, вот эта реализация кушает много времени.
    • 12 - Extended Coding Style Guide. Этот стандарт я координировал в PHP-FIG. Конечно же, используем.
    • 13 - Hypermedia Links. Не используем.
    • 14 - Event Dispatcher. Написали свой, ничего достойного готового на момент выхода стандарта не было, а события уже были нужны.
    • 15 - HTTP Handlers. Тоже центральная часть фреймворка так как определяет, какие Middleware поддерживаются, как задаются и, главное, как вызываются. Поэтому написали свой.
    • 16 - Simple Cache. Написали не PSR-ный yiisoft/cache, который использует любые PSR-16 адаптеры кеша и добавляет сверху всякие классные штуки. Ну а так как с Yii 2 уже был рабочий код адаптеров, портировали в PSR-16.
    • 17 - HTTP Factories. См. 7.
    • 18 - HTTP Client. Не будем реализовывать, будем использовать.

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

    5 комментариев
  2. Стиль кодирования PSR-12 принят

    10 августа 2019

    PSR-12 приняли. Работали мы над ним мы очень долго, хоть и не так активно, как могли бы. В итоге получился достойный наследник PSR-2. Некоторые конструкции из PHP 7.4 не описаны, но это нормально: сначала нужно посмотреть, как они используются, а потом уже пытаться это закрепить.

    Знакомимся

    Комментировать
  3. Запущен опрос по новому стилю кода PSR-12

    17 октября 2016

    PHP-FIG запустили опрос по PSR-12 — новому стилю кода, который призван заменить PSR-2, вобрав в себя новые правила для PHP 7. Заполнить опрос могут все желающие.

    Смотрим

    2 комментария
  4. Русский перевод PHP стандартов FIG

    29 декабря 2015

    PHP FIG решили убить переводы PSR и сделали это. Я не мог спокойно наблюдать за тем, как пропадает столько труда, поэтому сделал форк с русским переводом:

    https://github.com/samdark/fig-standards-ru

    5 комментариев
  5. Yii2: PSR-2

    17 марта 2014

    Yii2 перешёл на использование стиля кода PSR-2. Война табов и пробелов не закончится никогда, но быть не как все и терять при этом поддержку инструментов для форматирования и совместимость с умолчаниями IDE не хочется.

    13 комментариев
  6. Yii2: PSR-4

    12 января 2014

    Yii2 перешёл с PSR-0 на недавно принятый PSR-4, благодаря чему из загрузчика классов удалось выкинуть кучу кода, теоретически сделав его быстрее (не замеряли). Также немного уменьшилась вложенность директорий официальных пакетов, что, хоть и не имеет большого значения, делает структуру чуть более простой.

    Если вы уже использовали Yii2 через Composer:

    1. Выполнить composer self-update.
    2. Правим пути в index.php, index-test.php и yii. Там нужно убрать один уровень /../.
    3. Удаляем всё кроме .gitignore из vendor и composer.lock, делаем заново composer install --prefer-dist.

    Ещё одна приятная штука, расширения теперь можно делать по-человечески, складывая классы прямо в корневую директорию репозитория.

    17 комментариев
  7. php-fig

    23 сентября 2013

    Некоторое время назад я присоединился к php-fig в качестве представителя Yii.

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

    Обсуждения ведутся в группе Google. Читать и писать может кто угодно. Официальное присоединение даёт право голоса в процессе принятия очередного стандарта. На данный момент в группе 27 голосующих.

    В обсуждении сейчас:

    В стадии голосвания новый стандарт автозагрузки PSR-4. От меня получил +1.

    Сразу успокою (или разочарую): Yii не будет безоговорочно применять все PSR. На первом месте остаётся простой и понятный интерфейс и оптимальность способа решения задачи. На данный момент рассматриваем целесообразность изменения интерфейса для кеширования.

    11 комментариев
  8. Стиль кода Yii2

    10 мая 2013

    Много спрашивают про стиль кода Yii2. Почему он такой и почему не 1 в 1 PSR-2.

    Несовместимостей с PSR у нас три:

    1. У нас 5.3, мы не поддерживаем <?= в ядре потому как он может быть выключен. PSR-1 его разрешает.
    2. У нас табы, в отличие от PSR-2. У них есть объективный плюс. Их можно отображать как угодно в любимой IDE. Четыре пробела как два не отобразишь. На небольших экранах это особо актуально.
    3. У нас есть несколько уточнений, которые в PSR-2 не оговариваются.
    33 комментария