Дайджест интересных новостей и материалов из мира PHP (22.04.2013 — 06.05.2013)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Вышел в свет nginx-1.4.0 — Обновился второй по популярности веб-сервер в мире. Год разработки принес множество нововведений, как например поддержка SPDY. Кроме того, код проекта переехал на Mercurial.
- PHP 5.5 beta 4 — На этот раз последняя бета, а первый релиз-кандидат ожидается уже 9 мая.
- Phalcon 1.1 beta — По ссылке хабраперевод с обзором новых возможностей набирающего популярность фреймворка, который реализован на C и поставляется в виде PHP-расширения.
- Вышел phpMyAdmin 4.0.0 — В этой версии наконец-то не использованы HTML-фреймы, интерфейс построен с применением JavaScript и навигационная панель отображается в виде дерева.
- Релиз Silex 1.0.0 — Тихо и незаметно состоялся релиз этого отличного микрофреймворка.
- Online PHP shell — Веб-инструмент, который позволяет протестировать введенный PHP-код во всех версиях, начиная с 4.3.0 и заканчивая 5.5.0 alpha6.
- Доступно публичное превью Yii 2 — Этого события действительно ждали многие! Слова излишни, спешим пощупать новую версию.
- Опыт работы с новой средой в Google App Engine — Совсем скоро пройдет конференция Google I/O, на которой и будет продемонстрирована новая среда для App Engine. По ссылке — анонс доклада, в котором не упоминается, какую именно среду следует ожидать, однако некоторые считают, что это будет PHP, поскольку его поддержка востребована больше других.
PHP
- Событийно-ориентированный PHP — Видеозапись отличнейшего доклада от автора React — Igor Wielder. Подробно рассказано о проблемах в реализации асинхронного окружения на PHP, структуре React и о других смежных темах. Рекомендуется к просмотру.
- PHP должен умирать, продолжение — Не менее отличный пост в противовес предыдущему докладу. Автор продолжаетсвою мысль и на примере React демонстрирует несостоятельность PHP в случае, когда скрипт должен работать долго и непрерывно.
- Хак синтаксиса PHP — Хороший туториал, в котором на небольшом примере показано, как можно с минимальными знаниями C изменить синтаксис языка. Применив небольшой хак Zend Engine, автор меняет синтаксис объявления класса.
Материалы для обучения
- RBAC Авторизация в YII и LDAP — Отличнейший хабрапост с исчерпывающим руководством по RBAC в Yii.
- Выполняем сомнительный PHP-код в песочнице — На основе PHP-парсера от Никиты Попова, автор поста реализовал отличную библиотеку PHPSandbox, которая позволяет выполнять любой PHP-код, не допуская вызова потенциально опасных конструкций. Любые функции при этом можно переопределить своими. В примере показано «экранирование» функции mail().
- Эпическая сага о переходе на HipHop — Один из разработчиков из Tuenti (испанский клон Facebook) пишет об опыте миграции огромного проекта на HipHop, виртуальную машину, которая позволяет компилировать PHP-код в байт-код и затем выполнять его, а не интерпретировать при каждом выполнении.
- Введение в Ctype — Небольшой туториал по функциям Ctype, предназначенным для проверки соответствия строки какому-либо типу. В посте о том, какие существуют функции, как работают и как их использовать.
- HTTP — протокол, который обязан знать веб-разработчик — Продолжение серии об HTTP. В предыдущей части была дана базовая информация о схеме работы, структура запросов, коды ответов, основные заголовки. На этот раз рассмотрена обработка соединений, аутентификация и HTTP-кэширование.
- Development Environment при помощи Vagrant и Chef — Отличный хабрапост с детальной инструкцией по автоматическому конфигурированию рабочего окружения на виртуальной машине.
- Прощай CodeIgniter, здравствуй Laravel —
Небольшое сравнение двух фреймворков: CodeIgniter и Laravel 3. - Разбираемся со случайными значениями — Небольшой пост о генераторах псевдослучайных чисел в PHP.
- Простое логирование исключений в ZF2 — Еще один небольшой, но полезный пост, в котором показано, как с помощью Zend/Log и event listener можно легко организовать перехват и логирование исключений.
- Интервью с Jakub Vrana — Автор Adminer и соавтор PHP-мануала делится своим опытом разработки на PHP.
- Тест производительности популярных PHP-фреймворков — Небольшой тест фреймворков среди которых Yii, CodeIgniter, Laravel, Symfony2, Zend Framework 2, Slim и другие. Результаты в целом предсказуемые, но автор призывает помнить о том, что задача фреймворков — это ускорить разработку, а для повышения производительности можно применить другие меры.
- Добавление ваших пакетов для Composer на Packagist — Небольшой туториал для разработчиков, которые хотят включить свои библиотеки в список Packagist. В посте о составлении composer.json, работе с Packagist и синхронизации с GitHub.
- Почему тестирование делает проект успешным, и вы не можете позволить себе это отрицать — Автор пишет о преимуществах применения тестирования.
- Тестирование контроллеров в Laravel — В туториале подробно и на примерах показано, как изолировать тестируемые контроллеры и выполнять проверки.
- Список из 20 пунктов для предотвращения XSS в PHP — Автор пишет о том, что XSS все еще один из самых часто эксплуатируемых видов уязвимостей. Именно поэтому он решил собрать список из 20 указаний, направленных на предотвращение XSS-атак.
- Абстрагируем API сервисов доставки — Хороший туториал, в котором показано, как реализовать универсальный интерфейс для различных сервисов доставки с тем, чтобы при добавлении любого нового сервиса тратить минимально времени.
- Тестируем private и protected методы — Маленькая заметка, о том как протестировать закрытые методы класса с помощью рефлексии.
- Laravel 4 – простой сайт с бэкендом — Первая часть из серии туториалов по Laravel 4. Пост станет хорошей отправной точкой для желающих начать работу с этим фреймворком, лучшие практики учтены.
- Внедряем конфигурации в контроллер ZF2 — Небольшой пост, в котором показано как можно добавить конфигурационную информацию в контроллер Zend Framework 2 с помощью дополнительного интерфейса и инициализатора из ServiceManager. Подробнее о подходе уже писали тут .
- Контекстно-зависимая форма в Yii — Хабрапост с примером реализации обозначенного кейса.
- Создаем безопасные шаблоны на Latte — Обзор возможностей шаблонизатора Latte из фреймворка Nette.
- Функциональное тестирование с помощью Mink — Хороший туториал, в котором автор демонстрирует использование Mink — расширения Behat. Установка, настройка и простые примеры.
- Тестируем и контрибьютим с помощью Composer — В небольшом посте описано, как содействовать разработке сторонних библиотек и как Composer может в этом помочь.
- Тестирование «с душком» — Try/catch — Автор отстаивает мнение о том, что использование try/catch блоков в тестах — это плохая практика. Вместо этого следует применять имеющиеся в PHPUnit возможности: @expectedException или setExpectedException(). В посте также несколько других рекомендаций по написанию модульных тестов.
- 3 вещи, которые я делаю на новых серверах — В посте несколько рекомендаций по конфигурации сервера для обеспечения его безопасности.
- Как я выбирал легкий PHP фреймворк — Хабрапост с кратким обзором альтернатив «большим» фреймворкам.
- Работаем с датой и временем в PHP — В посте собрано несколько рецептов использования классов DateTime, DatePeriod и DateInterval.
- Chrome Logger — серверсайд логи в консоли хрома — Отличный аналог FirePHP, но для Chrome.
- Пишем RESTful-приложения на ZF2 — Запись вебинара от Matthew Weier O’Phinney — лидера проекта Zend Framework. Слайды тут (PDF).
Источник: http://habrahabr.ru/
Автор: Роман Понский