Дайджест интересных новостей и материалов из мира PHP за последние две недели (29.07.2013 — 11.08.2013)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Новости и релизы
- Вышел в свет WordPress 3.6 — Свежий релиз под кодовым названием «Oscar» включает в себя новую тему, улучшенный механизм ревизий постов, блокирование и автосохранение постов, улучшенный редактор меню и многое другое. Полный список изменений тут.
Также были анонсированы изменения в процессах разработки и развертывания проекта WordPress. - Phalcon 2.0 — будущее — Команда разработчиков, в связи с быстрым ростом популярности фреймворка, предвидит возможные трудности. В будущем своевременная поддержка и реализация новых возможностей может стать проблемой, а помощь сторонних контрибьюторов ограничена ввиду сложности языка C, на котором написан фреймворк. Именно поэтому было решено разработать свой собственный язык, нечто среднее между PHP и С.
Встречайте Zephir! Язык поддерживает как статическую так и динамическую типизацию, весь код должен быть в классах, использование неймспейсов обязательно, знак$
в имени переменных не нужен. Подробнее читайте в посте по ссылке. Также можно взглянуть на код реализации компонента маршрутизации на Zephir.
Кстати, если вы еще не щупали Phalcon, но хотите попробовать, то это очень легко сделать. Просто установите VirtualBox, Vagrant и клонируйте репозиторий Vagrant-Phalcon, а затем запустите Vagrant. - В core-команде PHP появился full-time разработчик — Хорошая новость, будем надеятся это скажется на процессе разработки самым положительным образом.
- Вышла версия 0.4.0 фреймворка Go! AOP — Обновилась замечательная библиотека, реализующая концепцию аспектно-ориентированного программирования в PHP. Среди нововведений, например, возможность перехватывать системные функции вроде
fopen
,array_keys
и любые другие. - Не волнуйтесь по поводу BREACH — На прошедшей совсем недавно конференции Black Hat была обнародована информация о новом виде атак — BREACH. Это породило целую волну постов и обсуждений. По ссылке пост от Anthony Ferrara, в котором описана суть проблемы и способы защиты. Также автор призывает не паниковать и сфокусироваться на защите от XSS и SQL-инъекций — гораздо более вероятных путях взлома.
- Состоялся релиз phpDocumentor 2.0.0 (и сразу 2.0.1) — Обновился самый популярный инструмент автоматической генерации документации для PHP.
PHP
- Что нового в PHP 5.5 — Еще один хороший обзор нововведений последней версии интерпретатора.
- Какие символы допустимы в именах переменных, методов, классов в PHP? — Ответ на вопрос не так очевиден как кажется. Core-разработчик Никита Попов расставляет все точки над i в этом вопросе.
- RFC: Constructor argument promotion — Предложение от одного из разработчиков HipHop VM из Facebook, суть которого довольно проста: предлагается для аргументов, передаваемых в конструктор класса, автоматически создавать соответствующие свойства класса и присваивать им переданные значения.
- Битва: котячий kPHP против американского HipHop’а — Отличная статья в которой приведена подробная история развития HipHop и сравнение с kPHP.
Материалы для обучения
- Генератор ASCII-арта — Отличный пост о том, как из имеющегося изображения с помощью PHP и GD сгенерировать ASCII-рисунок. Пример до и после.
- Нет ничего нетестируемого: AspectMock в действии — Тестировать синглтон? Легко! Отличная демонстрация применения AspectMock. Также приведен пример из реальной жизни — тестирование логин-формы на Yii2.
- Первые шаги на HHVM — В своем предыдущем посте автор сделал обзор HHVM, а на этот раз приступает к работе с этим инструментом. В посте инструкция по установке виртуальной машины с помощью Vagrant, установке всех необходимых зависимостей и непосредственно по компиляции HHVM.
- 7 причин, по которым PHP обязан своей популярностью скорее WordPress’у, чем фреймворкам — Недавно опубликованный рейтинг популярности языков программирования TIOBE показал, что популярность PHP за последний год выросла. Авторы индекса связывали это с выходом Zend Framework 2, но автор поста по ссылке считает, что скорее WordPress делает популярным PHP, а не фреймворки.
- Простой инструмент для тестирования PHP приложений — Автор хабрапоста реализовал CSTester — действительно простой инструмент для тестирования, который, тем не менее, может быть очень полезен при необходимости тестирования небольших приложений.
- Структуры данных для PHP-разработчиков: графы — Продолжение серии постов о структурах данных. Базовая информация о графах, примеры использования и реализация на PHP алгоритма Дейкстры для поиска кратчайшего пути.
- Stateless CSRF Tokens — Обычно принято хранить CSRF-токены в сессии, но могут быть ситуации когда это затруднено. В таких случаях можно применить описанные автором подходы.
- От кода в стиле STUPID к SOLID — Пост о том, как писать более качественный код — обзор концепций SOLID и STUPID.
- Сравнение Dependency Injection контейнеров — Тест производительности популярных DI-контейнеров для PHP.
- Создаем простой чат с помощью HTML5 WebSocket и PHP — Пост хоть и не последних двух недель, но интересный. Демонстрируется новая возможность из HTML5, код примера прилагается. Для реализации чего-то более сложного стоит обратить внимание на Ratchet.
- Генераторы в PHP — В посте о том, как работают и когда использовать генераторы из PHP 5.5.
- Phalcon — очередной PHP-фреймворк? — Небольшой обзор фреймворка с примерами кода.
- Тестовые задания для собеседования по PHP — В качестве продолжения поста с вопросами для собеседования по PHP, было опубликовано несколько интересных задач для соискателей на вакансии PHP-разработчиков.
- Тестируем плагины для WordPress с помощью Codeception, 2 — Серия отличных постов о тестировании в WordPress, ждем продолжения.
- Подбор мнемонических цитат для автомобильных и телефонных номеров — Занимательный хабрапост с примером реализации на PHP.
- Профилирование PHP-кода с помощью XHProf — Небольшая заметка о том, как установить и настроить XHProf.
- Push-уведомления для Android из PHP — В посте автор описывает, как отправлять push-уведомления в Phonegap-приложение из PHP.
- Как узнать, что ваш PHP сайт был взломан — Хабраперевод отличной статьи, в которой приведены способы обнаружения потенциально вредоносного PHP-кода на ваших серверах.
- Создаем SMS-сервис с помощью Twilio — Хороший туториал по использованию облачного сервиса смс и телефонии Twilio в PHP. Также имеется пост об использовании Twilio на Google App Engine.
- Как улучшить навыки программирования на PHP — Автор приводит подборку тем, которые должен освоить каждый разработчик. Приведены ссылки на материалы.
- Бенчмарк графических библиотек для PHP — Сравнительный тест популярных библиотек: GD, Gmagick и Imagick.
- Как управлять фикстурами в PHP-проекте — Автор описывает используемые им инструменты для работы с фикстурами.
- История фреймворка Laravel — Laravel 1 появился в середине 2011 года, а в этом году уже дорос до 4 версии. В посте о том, как развивался фреймворк.
- EazyPhoto: уютный фотохостинг для своего сервера — Хабрапост с описанием реализации альтернативы Flickr и любым другим хранилищам фотографий.
- Многопоточность в PHP с помощью pthreads — В последнее время часто упоминается инструмент pthreads, решающий вопрос многопоточности на PHP. Но автор инструмента замечает, что люди, пишущие о нем, не очень-то подкованы в вопросах многопоточности и параллелизма, поэтому своим постом на Reddit он решил внести некоторую ясность.
- Августовский выпуск журнала Web & PHP — Как всегда в свежем выпуске несколько интересных статей на тему PHP и веб-программирования, например, обзор ToroPHP — минималистичного роутера для разработки RESTful приложений и API.
- Простое создание миниатюр и хранение их на Amazon S3 — Небольшой хабрапост с описанием решенияпоставленной задачи.
- Установка Nginx + php-FPM + apc + MariaDB on Debian 7 — идеальный LEMP-сервер — Инструкция по установке и первичной настройке обозначенного набора.
- Использование cURL для удаленных запросов — Туториал по использованию cURL в PHP для начинающих.
- Взаимодействие php-soap на linux с авторизацией по сертификатам с использованием алгоритмов ГОСТ — Использование алгоритмов шифрования ГОСТ в PHP, как оказалось, не тривиальная задача, требующая в частности правки и перекомпиляции интерпретатора. В хабрапосте подробно описано решение.
- Очереди сообщений, AMQP, RabbitMQ — В статье идет речь о простых очередях сообщений, построенных на основе БД, стандарте AMQP и системе управления очередями RabbitMQ
- DDD с помощью Symfony2 — В посте описана применяемая автором структура директорий, а также подход Code First в сравнении с классическим Database First, на примере создания небольшого REST-приложения на Symfony в концепциипроблемно-ориентированного проектирования .
- Пример сегментации изображений средствами PHP — Еще один хороший хабрапост с подробным описанием решения специфической задачи на PHP. В автоматическом режиме предлагается делить изображение на логические фрагменты.
- Закон Деметры. Нужен ли? — Весьма интересное обсуждение в разделе Q&A на Хабре.
- В поисках самого востребованного языка программирования — Интересный пост с обзором различных рейтингов и методик оценки популярности языков программирования. Также приведен прогноз на 2013-2014 годы.
- Использование встроенного SSH-клиента в PhpStorm — Отличнейшая IDE обзавелась еще одной полезной возможностью в виде встроенного SSH-терминала.
- Ralph Johnson и Joe Armstrong о состоянии ООП — Небольшое интервью с одним из банды авторов той самой книги о паттернах проектирования и создателем языка Erlang, в котором они говорят о прошлом и будущем ООП.
Источник: http://habrahabr.ru/
Автор: Роман Понский