Pull to refresh

Comments 15

Компания Engine Yard спонсирует Composer

Рад за composer — всё-таки очень удобно получилось.

RFC: Неявный isset() в тернарном операторе

Было бы здорово.
Да, но ведь, по-моему, сломает обратную совместимость в случаях вида, когда пишут такой же сокращенный тернарный оператор и хотят получить true (значение присутствует и оно не NULL). Редко, но так тоже пишут.
Я только при сравнении с true и использую. Пользоваться как isset, забивая на нотисы, не позволяю себе.

Им сразу нужно было реализовать этот оператор с неявной проверкой, по аналогии с другими ЯП (a || b, a or b...). А теперь такое изменение только код поломает.
Я обычно ставлю при разработке настройку, при которой по нотису выполнение попадает в логирование и затем прерывается :) Нотисы — зло. Чтобы, тем не менее, избавиться от бесконечных isset($a['key1']) ? $a['key1'] : null, можно реализовать валидатор-фильтратор, которому на вход передавать правила валидации и обращение к элементу как к ссылке (&$a['key1']). Возможно, это плохо, но значительно сокращает число кода, ведь PHP сам создаст нужный индекс значением NULL и облегчает валидацию (т.е. получили по каким-то причинам NULL от клиента, а должна быть строка — ничем не отличается, как если от клиента пришло число, в обоих случаях ошибка валидации).
Не думаю, что это будет сильно полезно, потому что большинство использует прослойки, не обращаясь напрямую к $_GET. Netbeans так вообще по умолчанию варнинг пишет, когда видит обращение к $_GET/POST.
Дело же не в $_GET, с любым массивом будет работать.
Как всегда довольно много интересного, спасибо!
Пользуясь моментом, хочу поделиться портом Ruby-шного json_spec. Json_spec это реализация контекста для Behat (и матчера для phpspec) для удобного приемочного/функционального/интеграционного тестирования json rest api (не путать с json schema, сия библиотека ставит перед собой цель удобного сравнения данных в json а не проверять структуру оного).
Спасибо за подборку.
Хочу добавить в дополнение к либе Toggle, есть интересная либа FeatureScience — для измерения производительности «фич» в режиме «продакшена».
Стоит уточнить, на мой взгляд:
CodeLobster — M$ Windows only
Toran Proxy — платная, а бесплатная «альтернатива» — Satis
Free for personal use. Да и это все-таки немного разные вещи. Toran Proxy это, как это не удивительно, прокси для packagist с кешированием и более быстрым деплоем. Словом, позволяет решить проблемы «не работающего в момент сборки приложения github» и ускорить сам процесс сборки и деплоя, что так важно при continuous delivery. Satis же позволяет вам развернуть приватную версию packagist с зеркалами нужных вам репозиториев. То есть работа происходит не так прозрачно для пользователя. Хотя суппорт у них дороговат.
For personal use… толку то? У composer есть встроенный кэш, а больше для personal use и не надо.
Satis вполне можно использовать как прокси, у меня есть статья на эту тему. А Toran proxy уж очень жирно просит $ в год на поддержку composer.
CodeLobster же это откровенный треш. За те же деньги ($99) можно купить phpstorm или вообще использовать EAP бесплатно.
Sign up to leave a comment.