Объектно ориентированный подход при работе с датой

Все мы раньше так или иначе использовали в PHP функцию date() для произведения необходимых манипуляций с датой. Она прекрасна и решает множество задач, но увы иногда, когда очень хочется использовать объектный подход, она выпадает. Существует множество пользовательских решений, которые представляют классс-оболочку Date для функции date(), что решает вопрос. Но как мы знаем в 5.2 версии языка наконец-то сообразили сделать встроенный родной класс, и имя ему DateTime. В общем-то был добавлена целая группу классов работы с датой, но DateTime – основной, поэтому его мы и разберем.

Continue reading

Примеры задач на собеседование для старших разработчиков

В случая, когда становится ясно, что человек очень легко справляется с задачами для начинающего разработчика, можно переходить к более серьезным вариантам.

Continue reading

Отбор PHP кандидатов в нашей компании.

Думаю статья будет полезна тем, кто хочет подготовиться к собеседованию, но не знает за какую книжку схватиться.

Любой отбор начинается с небольшого письменного теста, который позволяет определить ваш приблизительный уровень. Тут не будет трудных вопросов: немного на понимание синтаксиса, типов и функций PHP; еще немного на тему javascript; и еще кусочек на составление запросов к базе данных.

Continue reading

Совсем немного о многопроцессовости в PHP

Только ключевые моменты:

– магия происходит с помощью функции pcntl_fork.

– работает только в CGI и CLI-режимах

– немного кода

$pid = pcntl_fork();
// создался дочерний процесс, все просто
// но дальше основная магия: выполнение едет в 2 независимых потока
// и все что будет дальше выполнится 2 раза
// резонный вопрос: как нам определить основной потом и дочерний
// а вот так:
if ($pid == -1) {
    //функции не удалось создать поток - ошибка
} elseif ($pid) {
    //если идентификатор есть - это родительский поток
} else {
    //если нет - соответственно дочерний
}
i++; //а этот код будет выполнен обеими потоками

Continue reading

Вторая встреча ThinkPHP.

ThinkPHP#2 или подумаем о PHP еще раз. Хотя (просматривая темы докладов), думать-обсуждать в этот раз мы похоже PHP не будем, будем думать о JavaScript, что тоже хорошо.

Итак посмотрим что у нас есть по докладам:

Continue reading

Отправка логов php на почту.

При отладке какого-либо скрипта часто возникает необходимость прослеживать по логам состояние/значение переменных, вхождение в блоки условий и т.д. Есть множество различных способов ведения логов и их дальнейшего разбора. Я бы хотел рассмотреть в этом посте логирование с отправкой информации на почтовый ящик. Это удобно для дебага, когда применить нормальные средства отладки не удается. Итак что нам нужно:

Continue reading