Дайджест интересных новостей и материалов из мира PHP за последние две недели №18 (22.05.2013 — 03.06.2013)



    Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.

    Приятного чтения!


    Новости и релизы


    • Вышел Laravel 4 — Туториалы по Laravel 4 начали появляться больше чем полгода назад, а это значит, что фреймворка действительно ждали. Наконец-то, можно лицезреть результат более чем года работы. Для тех, кто не знаком с фреймворком, но хотел бы на него взглянуть, на обновленном сайте имеется быстрый старт и более подробный обзор смотрите в скринкасте. Кстати, напомню про отличную и постоянно обновляемую базу скринкастов по Laravel 4 — Laracasts. Ну и для активных пользователей фреймворка есть замечательный ресурс laravel.io, на котором аккумулируются все новости и материалы по Laravel.
    • Встречайте Stack — Igor Wiedler, который уже известен как автор React и микрофреймворка Silex, на этот раз описал соглашение, регламентирующее способ объединения middleware-компонентов в некоторый слой между веб-сервером и PHP(Symfony)-приложением. На данную идею автора вдохновил Rack — решение из Ruby-мира.
    • Доступен PHP 5.5.0RC2 — Итак, второй и, возможно, последний релиз-кандидат новой версии PHP. 6-го июня ожидается очередной релиз и не исключено, что это будет финальная версия.


    PHP


    • Статистика использования PHP — Автор поста делает обзор нескольких статистических исследований (w3tech, TIOBE) и пытается интерпретировать полученные сведения. В частности, автор считает, что любой профессиональный разработчик должен по крайней мере быть знакомым с PHP, как с самым популярным языком веб-программирования.
    • Декораторы в PHP , Реализация расширения — Под декораторами в данном случае понимается не шаблон проектирования, а декораторы в стиле python. Автор реализовал PHP-расширение, которое добавляет возможность использования подобных декораторов в PHP. Во втором посте описаны детали реализации самого расширения. Пост будет очень полезен тем, кто решит взяться за написание собственного расширения.
    • Простейший пример генераторов в PHP — Совсем скоро выйдет PHP 5.5, в которой добавлена новая возможность — генераторы. В посте простой пример и рекомендации по применению генераторов. Больше информации по генератором можно найти в мануале.
    • (int)((0.1+0.7)*10) — Если вы сомневаетесь в результате обозначенного выражения, то этот пост для вас. Автор пишет о представлении вещественных чисел в памяти, и показывает почему все-таки результат 7.


    Материалы для обучения


    • Разработка в цифрах — Отличнейший доклад от Anthony Ferrara. Очень часто мы слышим людей, которые говорят о том, как писать хороший код. Но как можно объективно оценить насколько код хорош и нуждается ли он в рефакторинге? Как проанализировать существующий код не тратя при этом недели на вычитывание? Ответы могут дать такие инструменты как pDepend и PHPLOC. Но выдаваемые ими результаты может быть не просто понять и интерпретировать.
      В своем докладе Энтони как раз рассматривает доступные инструменты анализа качества кода, дает теоретические сведения об используемых метриках, демонстрирует применение на реальных проектах вроде Drupal. Кроме того, показывает как интегрировать подсчет метрик в процесс разработки, чтобы повысить качество создаваемых вами приложений. Слайды (PDF).
    • Очереди с помощью RabbitMQ и PHP, 2, 3 — Хороший туториал в трех частях по использованию платформы RabbitMQ. В первой части общая информация и обзор возможностей, во второй и третьей непосредственно о создании и использовании очередей c примерами на PHP.
    • Асинхронные MySQL запросы в HipHop PHP — Небольшой, но полезный пост, речь в котором идет также о реализации очереди, но на этот раз с помощью встроенного в HipHop сервера сообщений XBox.
    • Сочиняем музыку с помощью PHP — Занимательный пост, в котором автор показывает, как можно генерировать не совсем случайную последовательность нот. Для этого предлагается использовать механизм цепей Маркова и обучение на некотором наборе данных. То есть имея последовательности нот из «хороших» композиций, можно подсчитать вероятности следования одной ноты после другой и на основе полученных данных строить новые мелодии.
    • Битва титанов: Zend против Symfony — Небольшое обзорное сравнение фреймворков. Интересно было бы провести полноценное сравнение титанов ZF2 и Symfony 2.
    • Как создать группу пользователей PHP — Интервью с лидером группы пользователей PHP в Лидсе, в котором он делится опытом создания группы, рассказывает о сложностях, с которыми столкнулся и дает советы для тех, кто только собирается создать группу пользователей.
    • Приемочное тестирование с помощью Selenium и PHPUnit — Отличный туториал по использованию Selenium, в котором автор также показывает, как созданные на Selenium тесты экспортировать в PHPUnit тесты. Прилагаются скринкасты к каждому шагу.
    • Полное покрытие тестами непрактично — Написание тестов довольно «дорогая» операция, поэтому автор и призывает не писать тесты ко всему подряд, а тестировать лишь действительно важные кейсы и игнорировать очевидные моменты. Сфокусируйтесь на создании безупречного продукта.
    • C для PHP — Ввиду популярности фреймворков вроде Phalcon, действительно стала интересна тема написания расширений для PHP. Автор поста собрал в одном месте ссылки на ресурсы и статьи по этой теме, за что ему спасибо.
    • PHP в облаках — Небольшой вводный туториал по использованию облачного хостинга AppFog, которой к слову ранее назывался PHPFog.
    • 3 простых шага для повышения производительности веб-приложения на PHP — В посте несколько рекомендаций по контролю и повышению производительности PHP-приложений: акселератор, автозагрузчик на основе Composer, сериализация «тяжелых» объектов.
    • Symfony2 на Windows Azure — Автор поста реализовал бандл, который позволяет прозрачно развертывать Symfony2-приложения на облачную платформу от Microsoft.
    • Почему в нашем бизнесе мы выбрали Symfony2, а не другой PHP-фреймворк — Автор перечисляет те возможности Symfony 2, которые заставили выбрать именно этот фреймворк для решения задач. Также автор обращает внимание, что перечисленные возможности прежде всего важны именно для бизнеса, а уже потом для разработчиков.
    • Виртуализируйте ваш стек с помощью Vagrant и Puppet — Хороший скринкаст о том, как и почему следует использовать Vagrant и Puppet для виртуализации рабочего окружения. В конце скринкаста также упоминается отличный онлайн генератор конфигураций для Vagrant — PuPHPet, который за последние две недели обзавелся поддержкой Nginx, PostgreSQL и xhprof.
    • Zend Framework 2 — HTML5 элементы форм — Простенький туториал, в котором идет речь о HTML5-элементах форм: поле ввода телефона, email-поле, URL-поле и элемент выбора даты/времени, поддержка которых не так давно была реализована в ZF2
    • 10 шагов для быстрого отслеживания и исправления багов на PHP — Статья с рекомендациями по поиску и исправлению багов. И хотя некоторые советы избиты и весьма банальны, но это именно та информация, которую не будет лишним прочитать еще раз.
    • Создаем шаблонизатор на PHP — Небольшой туториал о том, как создать свой собственный простейший шаблонизатор.
    • 10 отличных PHP-сниппетов — Подборка маленьких, но весьма полезных кусочков кода на все случаи.
    • Оптимальная параллелизация юнит-тестов или 17000 тестов за 4 минуты — Отличнейший хабрапост с подробным разбором задачи организации параллельного выполнения модульных тестов. В описанном решении используется TeamCity, однако авторы обещают в скором времени сделать проект открытым и обеспечить поддержку других систем.
    • Организация backend и frontend в Yii framework — Отличнейшая статья, в которой сделан подробный обзор возможных вариантов реализации разделения приложения на backend и frontend.
    • Работаем с AngularJS и Silex — Хороший туториал по использованию Silex в качестве REST-бэкенда для AngularJS. К посту также прилагается небольшой скринкаст.


    Материалы c прошедших конференций




    Ссылка на предыдущий выпуск.
    Zfort Group
    112,00
    Компания
    Поделиться публикацией

    Комментарии 11

      +4
      >10 отличных PHP-сниппетов — Подборка маленьких, но весьма полезных кусочков кода на все случаи.

      уж очень слабая
        +2
        а первый даже вредный
          +3
          Единственный полезный — это расчет расстояния между географическими точками, остальные не просто слабы, они ужасны!
          Особенно, file_get_contents(...); file_put_contents(...); бесспорно самый полезный в моей жизни сниппет! Нет, они это серьёзно?!
            +2
            Одна эмуляция register_globals чего стоит. В печь.
              +2
              Это да, но явное указание ожидаемых переменных немного спасает ситуацию. А вот за предложенное в комментах extract($_POST) — действительно нужно в печь.
            +5
            10 отличных примеров говнокода
            +3
            Вай-вай-вай, забыл свои слайды на Hotcode залить. Спасибо, что напомнили )
            Рассказывал о тестировании в PHP и в частности какие бонусы для этого есть у Codeception.
            speakerdeck.com/davert/rulim-tiestami-s-codeception
              +3
              Спасибо за материал! Всё же не устану просить публиковаться ближе к концу недели, дабы на выходных не торопясь, с чувством, толком, расстановкой, с головой погрузиться в материал. А то сейчас — шапочно проглядел — и уже почти ночь.
                +1
                «Битва титанов: Zend против Symfony»

                Ну даже не смешно. Слишком уж общее и абсолютно слабое сравнение. Компании стыдно должно быть такое публиковать
                  +1
                  Организация backend и frontend в Yii framework

                  К сожалению страница недоступна. Наверное хаброэффект. Значит многим интересно!
                  И как всегда: Спасибо за материал и за слона!

                  UPD: Все заработало
                    0
                    На мой взгляд автор поста «Статистика использования PHP» не совсем корректно оценивает статистику использования языков для веб.

                    В качестве единицы измерения выступает домен. Но количество кода используемого на каком-либо домене или программистов, требовавшихся для написания кода доступного с этого домена может сильно различаться. За примерами далеко ходить не надо: сайт какой-либо среднестатистической фирмы и среднестатистический поисковик.

                    На мой взгляд более корректная оценка получилась бы при использовании в статистике, например, среднего количества обрабатываемых доменом запросов в сутки.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое