- PVSM.RU - https://www.pvsm.ru -

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014)

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014)

После небольшого перерыва PHP-дайджест снова в деле! Вашему вниманию подборка со ссылками на новости и материалы.

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

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014) Новости и релизы

  • PHPNG [1] — Разработчики представили интерпретатор PHP нового поколения. А все началось с сообщения Дмитрия Стогова в php.internals [2] habr и соответствующей ветки в репозитории. Анализе работы интерпретатора при выполнении реальных приложений показал, что проблема производительности кроется в методах работы с памятью и организацией хранения структур данных. Именно поэтому PHPNG представляет собой оптимизированный Zend Engine, в котором реализованы новые структуры данных [3]. Проведенный рефакторинг уже позволил увеличить производительность на 10-30% в реальных приложениях. Вероятно, PHPNG ляжет в основу PHP 5++, а пока это лишь начало и проект развивается очень динамично.
    Подробнее о PHPNG можно услышать из первых уст в докладе автора на предстоящей конференции DevConf 2014 – «Отдай свой PHP на прокачку — PHPNG — движок нового поколения» [4] habr .
  • Бета релизы PHP 5.6.0: beta 2 [5] и beta 3 [6] — Обновления содержат всего лишь набор исправлений, а значит, финального релиза осталось ждать совсем недолго. Тем не менее ожидается еще одна бета и пара-тройка релиз-кандидатов, а пока можно ознакомиться со списком новых возможностей [7] или посмотреть десятиминутный ролик с их демонстрацией [8].
  • Релизы PHP: 5.5.12 [9], 5.5.13 [10], 5.4.28 [11], 5.4.29 [12] — Регулярные обновления актуальных веток интерпретатора. Содержат ряд исправления в том числе проблем безопасности, как, например, уязвимость PHP-FPM [13], позволяющая локальному пользователю, имеющему доступ к UNIX-сокету php-fpm, по умолчанию создаваемому с правами 0666, выполнить произвольный PHP-код с правами работающего пула процессов FastCGI.
  • Новый PHP на Heroku [14] — На популярнейшей облачной платформе Heroku была добавлена поддержка HHVM и соответственно Hack.
  • ru Доступна бета версия Mooha — нодового интерфейса для PHP [15] — В прошлом году на Хабре был пост об интересном проекте Mooha [16], который по словам автора должен был стать визуальным конструктором PHP-приложений. Тестовая версия инструмента теперь доступна всем желающим.
  • Apigility 1.0.0 [17] — Первый стабильный релиз инструмента автоматического создания RESTful-приложений на основе Zend Framework 2.
  • Laravel Forge [18] — На прошедшей недавно конференции Laracon автором фреймворка Laravel был представлен инструмент Forge, который сам Тейлор охарактеризовал как «PHP-платформа мгновенного приготовления в облаке на ваш выбор». Forge позволяет в считанные минуты развернуть приложение с Nginx 1.6, PHP 5.5, MySQL/Postgres, Redis, Memcached, Beanstalk на любом популярном облачном хостинге [19]. Доступны расширения для Forge [20], туториалы [21], а также серия подробных скринкастов по использованию Forge [22] video. За удобство придется заплатить 10 $ в месяц.
  • Релиз Symfony 2.5.0 [23] — Полный список изменений тут [24].
  • DevConf 2014 [25] — Напомню, что уже через две недели в Москве состоится масштабная конференция, посвященная веб-разработке. Секция PHP [26] радует интересными докладами о phpng, Yii 2, Laravel, AOP, Codeception.

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014) PHP

  • RFC: Отлавливаемый «call to a member function of a non-object» [27] — Реализация этого предложения позволит обрабатывать ошибки, а не генерировать фатальные, при вызове методов у null: $x = null; $x->method();
  • RFC: loop_else [28] — Предложение добавить возможность использовать в циклах else-блок, который будет выполняться в случае, если условие цикла не выполняется ни разу, то есть при невхождении в тело цикла.

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014) Инструменты

  • Link [29] — Хороший роутер для PHP.
  • RequirePHP [30] — Внедрение зависимости а-ля RequireJS.
  • Karma [31] — Инструмент командной строки для управления конфигурациями окружений.
  • BowerPHP [32] — Хотите иметь возможность использовать менеджер зависимостей Bower, но при этом не устанавливать node.js? BowerPHP как раз создан для таких случаев.
  • Dora [33] — Генератор форм с рядом полезных возможностей.
  • JIT-Fu [34] — PHP-расширение, предоставляющее JIT-интерфейс для PHP на основе libjit.
  • Yandex Translate API [35] — Оболочка для Яндекс.Перевод
  • Pomander [36] — Еще один PHP-инструмент для развертывания приложений.
  • rss-bridge [37] — Фид для сайтов у которых его нет: Twitter, GoogleSearch, Instagram, Pinterest и другие.
  • Monga [38] — Простой и быстрой слой абстракции для работы с MongoDB.
  • glip [39] — Git-библиотека для PHP, позволяет осуществлять доступ к репозиторию из PHP даже без установленного Git.
  • atoum [40] — Простой современный фреймворк модульного тестирования для PHP.
  • TimeTraveler [41] — Инструмент позволяет задавать текущую дату вручную, соответствующим образом менять результат всех последующих вызовов функций работы с датой временем.

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014) Материалы для обучения

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014) Материалы c прошедших конференций

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014) Аудио и видеоматериалы

Дайджест интересных новостей и материалов из мира PHP № 41 (май 2014) Занимательное

Быстрый поиск по всем дайджестам [100]
Предыдущий выпуск [101]

Автор: pronskiy

Источник [102]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/news/61218

Ссылки в тексте:

[1] PHPNG: http://www.php.net/archive/2014.php#id2014-05-27-1

[2] сообщения Дмитрия Стогова в php.internals: http://habrahabr.ru/post/222219/

[3] новые структуры данных: https://wiki.php.net/phpng-int

[4] «Отдай свой PHP на прокачку — PHPNG — движок нового поколения»: http://habrahabr.ru/company/devconf/blog/223579/

[5] beta 2: http://php.net/index.php#id2014-05-02-1

[6] beta 3: http://php.net/index.php#id2014-05-15-1

[7] списком новых возможностей: http://www.sitepoint.com/new-features-php-5-6/

[8] десятиминутный ролик с их демонстрацией: https://laracasts.com/lessons/whats-new-in-php-5-6

[9] 5.5.12: http://www.php.net/archive/2014.php#id2014-04-30-1

[10] 5.5.13: http://php.net/archive/2014.php#id2014-05-29-3

[11] 5.4.28: http://php.net/index.php#id2014-05-01-1

[12] 5.4.29: http://php.net/archive/2014.php#id2014-05-29-5

[13] PHP-FPM: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0185

[14] Новый PHP на Heroku: https://blog.heroku.com/archives/2014/4/29/introducing_the_new_php_on_heroku

[15] Доступна бета версия Mooha — нодового интерфейса для PHP: http://mooha.net/

[16] пост об интересном проекте Mooha: http://habrahabr.ru/post/201646/

[17] Apigility 1.0.0: http://framework.zend.com/blog/apigility-1-0-0-released.html

[18] Laravel Forge: https://forge.laravel.com/

[19] хостинге: https://www.reg.ru/?rlink=reflink-717

[20] расширения для Forge: http://forgerecipes.com/

[21] туториалы: http://mattstauffer.co/blog/getting-your-first-site-up-and-running-in-laravel-forge

[22] серия подробных скринкастов по использованию Forge: https://laracasts.com/series/server-management-with-forge

[23] Релиз Symfony 2.5.0: http://symfony.com/blog/symfony-2-5-0-released

[24] тут: https://github.com/symfony/symfony/blob/master/CHANGELOG-2.5.md

[25] DevConf 2014: http://devconf.ru/

[26] Секция PHP: http://devconf.ru/offers/php

[27] RFC: Отлавливаемый «call to a member function of a non-object»: https://wiki.php.net/rfc/catchable-call-to-member-of-non-object

[28] RFC: loop_else: https://wiki.php.net/rfc/loop_else

[29] Link: https://github.com/apsdehal/Link

[30] RequirePHP: http://requirephp.org/

[31] Karma: http://www.karma-php.com/

[32] BowerPHP: http://bowerphp.org/

[33] Dora: https://github.com/gajus/dora

[34] JIT-Fu: https://github.com/krakjoe/jitfu

[35] Yandex Translate API: https://github.com/nkt/yandex-translate

[36] Pomander: http://ripeworks.com/pomander/

[37] rss-bridge: https://github.com/sebsauvage/rss-bridge

[38] Monga: https://github.com/thephpleague/monga

[39] glip: https://github.com/patrikf/glip

[40] atoum: https://github.com/atoum/atoum

[41] TimeTraveler: https://github.com/rezzza/TimeTraveler

[42] Задушите ваши API вызовы: RateLimitBundle: https://www.adayinthelifeof.nl/2014/05/28/throttle-your-api-calls-ratelimitbundle

[43] RateLimitBundle: https://github.com/jaytaph/RateLimitBundle

[44] Безопасно ли ваше OAuth 2.0 приложение: http://www.phpclasses.org/blog/package/7700/post/4-Is-Your-OAuth-20-Application-Secure.html

[45] Аутентификация токеном в Silex-приложениях: http://gonzalo123.com/2014/05/05/token-based-authentication-with-silex-applications/

[46] Используем Solarium и SOLR для реализации полнотекстового поиска: http://www.sitepoint.com/series/using-solarium-for-solr-search/

[47] Использование сессий в Zend Framework 2: http://www.masterzendframework.com/sessions/using-sessions-in-zend-framework-2-part-1

[48] ч.2: http://www.masterzendframework.com/sessions/using-sessions-zend-framework-2-part-2

[49] Использование Bats для тестирования инструментов командной строки: https://blog.engineyard.com/2014/bats-test-command-line-tools

[50] Bats: https://github.com/sstephenson/bats

[51] Как использовать интерфейс JsonSerializable: http://www.sitepoint.com/use-jsonserializable-interface/

[52] Введение в сессии в Symfony2: http://gnugat.github.io/2014/04/23/sf2-sessions-introduction.html

[53] Рефакторинг легаси-кода: сложные условия: http://code.tutsplus.com/tutorials/refactoring-legacy-code-part-3-complex-conditionals-long-methods--cms-20944

[54] Управление аутентификацией в Composer: http://seld.be/notes/authentication-management-in-composer

[55] IronMQ и Laravel: http://www.sitepoint.com/series/ironmq-and-laravel/

[56] Вскрываем Laravel: компоненты Session, Auth и Cache: http://laravel.ru/articles/odd_bod/session-auth-cache

[57] Как использовать «yield» в PHP 5.5: http://www.leaseweblabs.com/2014/05/how-to-use-yield-keyword-php

[58] Начинаем работать с Phpspec: http://code.tutsplus.com/tutorials/getting-started-with-phpspec--cms-20919

[59] PHPSpec и Magento: http://jcowie.co.uk/blog/magento-phpspec/

[60] Magento: основы, цикл обработки запроса, стандарты и лучшие практики: http://www.sitepoint.com/magento-basics-request-flow-standards-best-practices/

[61] Сообщество Hack: http://hhvm.com/blog/4811/hack-community-roundup

[62] BeatBox: https://wiki.pocketrent.com/beatbox/start

[63] hack-mvc: https://github.com/esokullu/hack-mvc

[64] Временная сложность алгоритмов: http://www.sitepoint.com/time-complexity-algorithms/

[65] PHP и непрерывная интеграция с помощью Travis CI: http://www.sitepoint.com/php-continuous-integration-travis-ci/

[66] Как использовать ZFTool Diagnostics, чтобы быть уверенным в работоспособности модулей на любом окружении: http://www.masterzendframework.com/zftool-2/use-zftool-diagnostics-ensure-modules-work

[67] Обзор инструментов статического анализа PHP-кода: http://blog.codacy.com/2014/05/06/php-static-analysis-tools/

[68] PHP_CodeSniffer: http://pear.php.net/package/PHP_CodeSniffer/

[69] PHP Mess Detector: http://phpmd.org/

[70] PHP Copy & Paste Detector: https://github.com/sebastianbergmann/phpcpd

[71] Модульное тестирование с помощью GuzzlePHP: http://www.sitepoint.com/unit-testing-guzzlephp

[72] Как писать модульные тесты для моделей в Phalcon: http://www.rami.me.uk/how-to-unit-test-code-with-phalcon-mvc-models

[73] RESTful удаление, восстановление и ревизии: http://philsturgeon.co.uk/blog/2014/05/restful-deletions-restorations-and-revisions

[74] Реализация быстрого импорта из Excel на PHP: http://habrahabr.ru/company/pechkin/blog/224207/

[75] Ускоряем PHP (с ReactPHP): http://habrahabr.ru/post/220393/

[76] Асинхронный Php extension для работы с бд Cassandra без Thrift: http://habrahabr.ru/post/221521/

[77] Правильный подход к использованию API Вконтакте: http://habrahabr.ru/post/221949/

[78] Бенчмарк 14 алгоритмов сортировки на массивах с разной размерностью и содержанием: http://habrahabr.ru/post/221807/

[79] Sypex Geo 2.2 — теперь с GeoNames и ОКАТО: http://habrahabr.ru/post/221893/

[80] Создаём сайт, используя Laravel и Recurly. Часть 2: http://habrahabr.ru/post/221815/

[81] Введение в JadePHP: http://habrahabr.ru/post/224391/

[82] Отладка электронной почты при помощи MailCatcher: http://habrahabr.ru/post/224467/

[83] MailCatcher: http://mailcatcher.me/

[84] о тестировании электронной почты в PHP: http://codeception.com/12-15-2013/testing-emails-in-php.html

[85] Опасный getimagesize() или Zip Bomb для PHP: http://habrahabr.ru/post/224351/

[86] RESTful API на Yii framework с RBAC и тестами: http://habrahabr.ru/post/224199/

[87] Автодокументация мобильных веб-сервисов на примере Yii: http://habrahabr.ru/post/224053/

[88] 25 Laravel Tips and Tricks: http://habrahabr.ru/post/222453/

[89] PHPCI: Система непрерывной интеграции для PHP-проектов: http://habrahabr.ru/post/222305/

[90] Пишем свою IDE со встроенным дизайнером интерфейсов на PHP и ExtJS: http://habrahabr.ru/post/224709/

[91] Видеозаписи докладов с PHP South Africa: https://www.youtube.com/user/PHPSouthAfrica/videos

[92] phpDay 2014: https://joind.in/event/view/1637/slides#event-tabs

[93] php[tek] 2014: https://joind.in/event/view/1706/slides#event-tabs

[94] Создание повторно используемых форм в Symfony 2: http://code.tutsplus.com/tutorials/creating-reusable-forms-in-symfony-2--cms-21244

[95] основы: http://code.tutsplus.com/tutorials/symfony-2-the-basics--net-37015

[96] роутинг: http://code.tutsplus.com/tutorials/routing-overview-basics-in-symfony-2--cms-20754

[97] контроллеры: http://code.tutsplus.com/tutorials/working-with-controllers-in-symfony-2--cms-21111

[98] шаблоны: http://code.tutsplus.com/tutorials/working-with-templates-in-symfony-2--cms-21172

[99] Расцвет Composer и закат PEAR: http://habrahabr.ru/post/222185/

[100] Быстрый поиск по всем дайджестам: http://pronskiy.github.io/php-digest/

[101] Предыдущий выпуск: http://habrahabr.ru/company/zfort/blog/221083/

[102] Источник: http://habrahabr.ru/post/224855/