Вышел PHP 5.4a1 29.06.2011 PHP
Разработка через тестирование в JavaScript с использованием Qunit 31.05.2011 javascript, тестирование
Разработка через тестирование — это один из способов разработки программного обеспечения, который состоит из множества повторяющихся итераций, включающих:
- написание теста, покрывающего желаемые изменения
- написание кода, который пройдет тест
- проведение рефакторинга
Сегодня я хочу вам показать этот метод на примере JavaScript и QUnit. читать дальше»
Как закрыть соединение и продолжить выполнение скрипта 08.04.2011 PHP
Порой перед разработчиком встает задача проделать действительно долгую операцию после отображения страницы, как например рассылка почтовых сообщений или обмен данными с удаленным сервером. Можно положить эту задачу на плечи крона, но если это не удобно/медленно/кошерно, приходится выкручиваться и изобретать странные решения. Одним из таких решений является выполнение долгой операции непосредственно после рендеринга страницы, что может подвесить соединение на пару (десятков, сотен) секунд, или, если поступить добросовестно и оборвать соединение, пройдет незаметно для пользователя. Об этом методе сегодня и поговорим.
Если обратится к спецификации HTTP, можно найти пару замечательных заголовков:
Connection: close - говорит браузеру оборвать соединение при достижении конца файла Content-Length: n - устанавливает длину документа
Посмотрим реализацию на PHP
Не забывайте про параметр max_execution_time в php.ini, которым ограничено время выполнения вашего скрипта. Content-Encoding установлен в none для того, что бы исключить изменения размера gzip модулями сервера, что приведет к неверной работе. Впрочем это не гарантирует 100% решение проблемы, так что используйте этот трюк с умом.
Встроенный Web сервер в PHP 04.03.2011 PHP
Вчера в rfc попало предложение встроить в интерпретатор PHP собственный WEB сервер, что позволило бы сделать php скрипты более удобными для использования на системах без установленного веб-сервера. Запускать такой сервер предлагают из командной строки:
-
php -S localhost:8000 docroot
а в качестве замены к mod_rewrite использовать:
-
return false; // отдаем файл как есть
-
else
-
...
Для желающих, на
Вышел NetBeans 7 Beta 2 17.02.2011 PHP
Вышла вторая бета версия замечательной IDE. Обо всех внесенных изменениях вы можете почитать на официальном сайте
Что важного появилось для PHP разработчика:
- Поддержка git 1.7.x
- Поддержка HTML 5
- Рефакторинг названий переменных, функций, методов, классов и интерфейсов
- Улучшен механизм определения внешних изменений (родное (нативное) прослушивание файловой системы)
- Улучшена работа с базами данных Oracle
Рефакторинг имен работает просто замечательно. Если в функции поставить курсор на какую-либо переменную, дождаться когда ide подсветит эту переменную, а затем нажать CTRL+R, то случится локальная магия =)
Встроенная поддержка git на порядок лучше плагина nbgit: работает быстрее, показывает текущую ветку, позволяет довольно удобно делать чекауты
Качаем, наслаждаемся
PS: если у вас после обновления интерфейс стал русским, и вам это не нравится, добавьте в ярлык параметр --locale en, чтобы получилось примерно так:

Паттерн проектирования Приспособленец (Flyweight) на PHP 11.02.2011 PHP, Паттерны проектирования

Перед прочтением ознакомьтесь с введением в паттерны проектирования на PHP, в котором описаны принятые соглашения и понятия. Данная статья дополняется с некоторой периодичностью, так что если вы ее читали ранее, не факт что данные не изменились.
Приспособленец (Flyweight) относиться к классу структурных паттернов. Он используется для эффективной поддержки множества мелких объектов. читать дальше»
Паттерн проектирования Фасад (Facade) на PHP 08.01.2011 PHP, Паттерны проектирования

Перед прочтением ознакомьтесь с введением в паттерны проектирования на PHP, в котором описаны принятые соглашения и понятия. Данная статья дополняется с некоторой периодичностью, так что если вы ее читали ранее, не факт что данные не изменились.
Facade (Фасад) относиться к классу структурных паттернов. Представляет собой унифицированный интерфейс вместо набора интерфейсов некоторой подсистемы. Паттерн фасад определяет интерфейс более высокого уровня, который упрощает использование подсистем. читать дальше»
Паттерн проектирования Декоратор (Decorator) на PHP 06.01.2011 PHP, Паттерны проектирования

Перед прочтением ознакомьтесь с введением в паттерны проектирования на PHP, в котором описаны принятые соглашения и понятия. Данная статья дополняется с некоторой периодичностью, так что если вы ее читали ранее, не факт что данные не изменились.
Decorator (Декоратор) относиться к классу структурных паттернов. Он используется для динамического расширения функциональности объекта. Является гибкой альтернативой наследованию. читать дальше»
Паттерн проектирования Компоновщик (Composite) на PHP 04.01.2011 PHP, Паттерны проектирования

Перед прочтением ознакомьтесь с введением в паттерны проектирования на PHP, в котором описаны принятые соглашения и понятия. Данная статья дополняется с некоторой периодичностью, так что если вы ее читали ранее, не факт что данные не изменились.
Composite (Компоновщик) относиться к классу структурных паттернов. Он используется для компоновки объектов в древовидные структуры для представления иерархий, позволяя одинаково трактовать индивидуальные и составные объекты. читать дальше»