Вашему внимаю предлагается жвачка для ума для любителей true-кодинга на PHP.
Этот вопрос хорошо подходит для того, чтобы задавать на собеседовании и замучить кандидата до смерти, тк сразу и без подготовки на него ответят далеко не все, а только те соискатели, кто очень хорошо знает предметную область и глубоко погружен в некоторые тонкости языка.
Итак, задача казалось бы вполне тривиальная и очень типичная:
Получить в переменную $id значение параметра id из GET, при условии, что это цифра и больше 0, в остальных случаях - FALSE.
И это бы было тривиально, если бы не следующие ограничения:
Запись должна быть в одну строку
$id = ...;(точку с запятой можно поставить только один раз в конце строки), а операторы 'if' и '?', а также фигурные скобки использовать нельзя. Обращаться к массивам $_* нельзя.
Тест-кейс который должен выполняться:
index.php?id=100500 => 100500
index.php?id=-10 => FALSE
index.php?id=0 => FALSE
index.php?id= => FALSE
index.php?id=wtf => FALSE
index.php? => FALSE
Ну что ж, давайте рассуждать как это сделать.
Как-то грустно писать про отвал почтового сервиса, но тем не менее мой почтовый ящик @pisem.net похоже умер. Произошло это следующим образом: вчера сижу жду письма о верификации емейл адреса и тишина, через пол часа отправляю повторно - так же тишина. Тестовое письмо с gmail так же не дошло. По прошествию ночи и отсутствию входящих писем приходится констатировать, что таким сервисом пользоваться не возможно :(
Картину дополнила моя попытка обращения в тех.поддержку, подробно описав проблему и нажав отправить на их сайте я получил белый экран. Со своей стороны я, конечно, понимаю, что сервис бесплатный и все такое, и что скорее всего он не является приоритетным для его владельца, но у конкурирующих почта-провайдеров на той же бесплатной основе все хорошо работает.
В принципе, исходя из бесплатности, я давно мирился с медленным соединением и частыми таймаутами при работе через IMAP внешних клиентов, обилием спама, медленным и неудобным веб интерфейсом и прочими атрибутами бесплатного продукта. Но когда на лицо проблема с доставкой почты и отсутствие хоть какой-то поддержки со стороны сервиса, думаю придется отказаться от этого "замечательного" почтовика.
Хочу обратиться к "Почте QIP.ru": "Уважаемые! Если вы не можете поддерживать работу сервиса на достойном уровне, пожалуйста, закройте его или продайте тем, кто сможет! Ну а если, вдруг, у вас второй день уже авария, то хоть уведомите клиентов об этом, хоть как-нибудь."
Некоторое время назад столкнулся с непонятным поведением в Windows 7: ноут стоит и вроде бы ничего не делает, но кулер системы охлаждения работает изо всех сил и наполняет комнату горячим воздухом. Но вот только стоит к нему подойти, чтоб посмотреть в чем дело, так сразу нагрузки исчезает и работа охлаждения нормализуется. Далее я опишу свою схему поиска и отлова "горячего" процесса.
Как известно, в Mac OS X уже есть и apache и PHP, но что делать если требуется добавить какое-либо расширение в PHP? Можно, конечно, воспользоваться brew и получить еще одну параллельную версию PHP, а потом мучиться с ее настройкой, ради одного расширения. Я же опишу более правильный путь - собрать расширение для уже имеющегося в системе PHP.