Ну вот у меня Column\Name постоянно дублировалось абсолютно одно и то же. Ради избавления от таких дублей — я готов валидацию в yml запихнуть, если честно.
Как раз логика и теряется во всех этих геттерах/эддерах/ремуверах/сеттерах. Например пользователь хочет указать ссылки на соц-сети. Это либо в массиве хранить, что не правильно, либо в разных полях. Можно запросто их вынести в какой ни будь Socialable и забыть. Понятно, что не везде так, к сожалению, можно
В принципе критика обоснованна. В php невозможно переопределить свойство из трейта и соответственно phpdoc для него.
Но этот пост и либа — скорее призыв к тому, чтобы в проектах таки выделять некоторые куски кода в трейты, потому что это реально удобно, особенно для связных сущностей.
Это и не нужно. Достаточно понимать, что такое HashTable, zval, zend_class_entry, и немного Си, чтобы если что — можно было что-то соптимизировать. Дальше лезть в дебри макросов — совсем нет смысла. А вот чтобы не париться на счет структуры расширения — как раз полезно использовать phpcpp, или zephir
Зря так думаете) Посмотрите хотя бы на COLT. IDE знает какие параметры метод принимает, какие у них сигнатуры. Да и вообще. По вашему $fooBar и $foo['bar'] сильно отличается? На мой взгляд нет.
Интересно, получит ли распространение идея написания расширений прямиком на плюсах, а не на более дружелюбном для php-разработчика зефире.
По сути на плюсах можно быстро писать расширения-коннекторы (базы данных, кешеры, очереди), хотя и для зефира есть такая возможность в виде оптимизаторов.
Ну например работы с ArrayAccess, да и вообще с массивами.
Ясно что когда используются переменные — сложно угадать, что в массиве, но когда явно пишешь:
$arr['foo'] = new Foo();
$arr['foo']->bar(); // тут уже контекст теряется
Ну и всяческих мелких аннотаций, типо @return argument<$object>.
Хотя с поддержкой JS там все еще хуже, так что я молчу и не жужу:)
Замечательно! Популярность языка сделала свое дело — он стал развиваться самостоятельно.
Интересно, почему не отказались от <?hh
Особенно радует доработанность языка, не просто добавили типы, но и шаблоны. Супер!
Скажите, может быть я не очень шарю — но что сложного можно делать с DNS зонами, для чего можно было бы создавать темплейты?
Я сразу оговорюсь — сравниваю с pdd.yandex.ru.
Там при подтверждении домена сразу вписывается DKIM ключ, подключается яндекс-почта, соответсвенно прописываются MX записи. Остается только вписать A запись для домена и CNAME для www.
Так сделано в доктрине — и это бесит.
Как отметил alekciy одно другому не мешает, а вот когда хочется ручками залезть в базу, например на этапе разработки — приходится не собственно ручками не лезть, а писать скрипт.
А почему нет? Может на разработчика многое завязано, в отделе внутренние разборки.
Если виноват — получит по заслугам. Но мне таки хочется узнать альтернативную точку зрения.
Интересно, на сколько велика вероятность что все это скомпрометировано? Ну то есть ничего не стоит изменить историю скайпа. Ровно как и ничего не стоит самой Microsoft вести блог об утечках.
Как раз логика и теряется во всех этих геттерах/эддерах/ремуверах/сеттерах. Например пользователь хочет указать ссылки на соц-сети. Это либо в массиве хранить, что не правильно, либо в разных полях. Можно запросто их вынести в какой ни будь
Socialableи забыть. Понятно, что не везде так, к сожалению, можноНо этот пост и либа — скорее призыв к тому, чтобы в проектах таки выделять некоторые куски кода в трейты, потому что это реально удобно, особенно для связных сущностей.
Дружелюбно != проще?
Я не то что бы сторонник. Я сторонник и phpcpp — просто потому что это удобнее, чем чистый zend core.
$fooBarи$foo['bar']сильно отличается? На мой взгляд нет.Покажите пример «дружелюбных» расширений? По zendу не особо много доков, чего не скажешь по зефиру, или phpcpp.
По сути на плюсах можно быстро писать расширения-коннекторы (базы данных, кешеры, очереди), хотя и для зефира есть такая возможность в виде оптимизаторов.
Ясно что когда используются переменные — сложно угадать, что в массиве, но когда явно пишешь:
Ну и всяческих мелких аннотаций, типо
@return argument<$object>.Хотя с поддержкой JS там все еще хуже, так что я молчу и не жужу:)
Интересно, почему не отказались от
<?hhОсобенно радует доработанность языка, не просто добавили типы, но и шаблоны. Супер!
Я сразу оговорюсь — сравниваю с pdd.yandex.ru.
Там при подтверждении домена сразу вписывается DKIM ключ, подключается яндекс-почта, соответсвенно прописываются MX записи. Остается только вписать A запись для домена и CNAME для www.
Как отметил alekciy одно другому не мешает, а вот когда хочется ручками залезть в базу, например на этапе разработки — приходится не собственно ручками не лезть, а писать скрипт.
Если виноват — получит по заслугам. Но мне таки хочется узнать альтернативную точку зрения.