<rmcreative>

RSS

php-fig

23 сентября 2013

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

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

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

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

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

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

Комментарии RSS

  1. №8394
    Костя
    Костя 23 сент. 2013 г., 7:41:52

    принять ещё несколько интересных, хоть и немного спорных, стандартов.

    Например 4 пробела? Если серьезно, то какие на твое усмотрение?

  2. №8395
    Sam
    Sam 23 сент. 2013 г., 13:05:31

    Костя, вопрос холиварный, но я за табы.

  3. №8396
    Denis
    Denis 23 сент. 2013 г., 13:10:52

    Как то странно.

    Группа занимается обсуждением и принятием межфреймворковых стандартов

    Но

    Yii не будет безоговорочно применять все PSR

    То есть yii вступила в сообщество стандартизации, но будет следовать все же своим уже сложившимся стандартам.

    Может я чего-то не понимаю, но какой смысл?

  4. №8397
    Костя
    Костя 23 сент. 2013 г., 13:13:23

    Sam, а что насчет спорных моментов в остальных пунктах стандарта?

  5. №8398
    AmdY
    AmdY 23 сент. 2013 г., 13:18:41

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

  6. №8399
    vasa_c
    vasa_c 23 сент. 2013 г., 13:19:48

    Какую революцию? Описала то, что задолго до этого было стандартом де-факто.

  7. №8400
    Sam
    Sam 23 сент. 2013 г., 16:16:33

    Denis, смысл, например, не ломать обратную совместимость. Ну и мы намеренно вредить фреймворку и сообществу не будем. Не со всеми PSR команда Yii согласна.

    Костя, github.com/yiisoft/yii2/wiki/Core-framework-code-style

    AmdY, забавно, что Fabien вышел из PSR как только начали серьёзно обсуждать интерфейсы как раз по этой причине.

    Я также не поддерживаю идею принудительной стандартизации интерфейсов, но её никто и не навязывает. Использование PSR — личное дело каждого.

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

    Интерфейсы для кеша, как по мне, получились неплохие, хотя добавлять exists пришлось с боем. Другое дело, что в Yii и Yii2 интерфейс для кеша серьёзных минусов, которые бы всплыли на практике, по сравнению с PSR не имеет.

    vasa_c, в том-то и дело, что не было. Каждый делал как попало, а сейчас стараются делать по PSR-0. Тут ситуация как с HTML5. Это всё было, но не было документировано и поэтому частенько игнорировалось.

  8. №8401
    AmdY
    AmdY 23 сент. 2013 г., 17:21:44

    Кстати, про exists - чего не хватает в php, так это именований, каждый именует методы как попало, включая внутренние функции php и sql, тот же exists - isset, offsetExists, has, has, isHit...

    А вот интерфейсы бесполезны, php тем более что можно использовать процедурный стиль или замыкания, как в ларавеле, что гораздо удобнее OOП нагромождения.

  9. №8402
    AmdY
    AmdY 23 сент. 2013 г., 17:24:44

    p.s. Поздравляю со вступлением в php-fig

  10. №8403
    Sam
    Sam 23 сент. 2013 г., 18:40:18

    AmdY, isHit и exists штуки немного разные по отношению к кешу.

  11. №8409
    Corpsee
    Corpsee 24 сент. 2013 г., 8:27:12

    Поздравляю с вступлением)

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.