Оптимизируем память в PHP, Почему Doctrine ORM не подходит для PHP, рендринг ReactJS на PHP, itertools (yield), Прошлое, настоящее и будущее Code Coverage, Чего ждать, когда ждёшь ребёнка: PHP7, Внутреннее представление значений в PHP7, Phil Sturgeon, TDD — Train Driven Development
Вы слушаете «Пятиминутку PHP», выпуск номер 1 — еженедельный подкаст о новостях из мира PHP, интересных постах в блогах и современных подходах к разработке.
Коротенькая и в чём-то полезная статья «Оптимизируем память в PHP». На этот раз речь не об очередных улучшениях внутри Zend Engine, а несколько советов непосредственно для пользователей PHP: освобождайте память с помощью myqsli_free_result и unset, кешируйте результаты часто вызываемых функций в приватном массиве. Автор даже приводит пример простейшего сборщика мусора, написанного на самом PHP.
Следующая статья-наброс: «Почему Doctrine ORM не подходит для PHP». Основная мысль статьи в том, что Doctrine вдохновлена концепциями Hibernate из Java мира. Однако, как мы знаем «PHP рождён, чтобы умирать», в отличие от долго живущих Java программ. В итоге Identity Map плохо применим в stateless окружении PHP, UnitOfWork переусложнён, Lazy Loading вообще нонсенс, а в EntityManager слишком много магии. Автор также обещает вторую статью с разоблачениями Doctrine, так что следите за новыми выпусками Пятиминутки PHP и я обязательно вам расскажу чем всё кончилось.
Используете ReactJS на фронтенде? Ребята из Facebook выпустили PHP пакет (доступен через composer), который умеет рендрить React шаблоны с помощью PHP! Требуется PHP 5.3 с установленным PHP расширением V8Js (работает в linux, mac и windows). Если же установка дополнительного расширения вам не подходит, тогда план Б: «React as a service» — устанавливаем на сервере nodejs и запускаем специальное приложение, а из PHP обращаемся к нему http запросами, получая готовый html. Кстати, хорошая идея для SAAS стартапа: рендрилка React шаблонов!
http://blog.frankdejonge.nl/rendering-reactjs-templates-server-side/
В PHP 5.5 появились генераторы (ключевое слово yield). С тех пор многие программисты задаются вопросом «где бы мы применить эти генераторы, помимо классического примера чтения строк из файла?». Вот вам пример: itertools — порт одноимённой библиотеки из Python, набор функций для эффективного создания итераторов. Не знаю, пригодится ли вам сама библиотека itertools, но почитать код всегда полезно!
Рекомендую посмотреть слайды презентации от Sebastian Bergmann (напомню, что это автор PHPUnit), про прошлое, настоящее и будущее Code Coverage — покрытие кода тестами. Презентация в первую очередь полезна тем, кто уже пишет эти самые тесты.
В связи с большими внутренними изменениями в движке ZendEngine 3, который придёт к нам вместе с PHP7, команда Zephir встала перед вопросом «кто виноват и что делать». Напомню, Zephir — это язык схожий по синтаксису с PHP, но он компилируемый и предназначен для написания расширений для PHP. В Github идёт обсуждение объёма работы, который предстоит провести, чтобы поддержать PHP7. Надеюсь, у ребят всё получится. Как видим, путь написания расширений к PHP не так уж прост.
Продолжая тему PHP7, на хабре опубликованы переводы отличных статей: «Чего ждать, когда ждёшь ребёнка: PHP7 (часть 1)» (часть 2), и «Внутреннее представление значений в PHP7 (часть 1)». Первую статью рекомендую всем — ёмкое описание новых возможностей PHP7. Вторая статья для продвинутых товарищей, которым интересно как оно всё там работает на уровне Си кода.
Драма в PHP коммунити! Phil Sturgeon — видный деятель, большой коммитер в CodeIgniter и просто коммитер в FuelPHP, Laravel, участник PHP-FIG, основатель PyroCMS и соведущий подкаста PHP Town Hall написал в своём блоге: «я устал, я ухожу». Что же, пожелаем ему удачи! А вам дам ссылку на апрельский выпуск подкаста Full Stack Radio, где Phil в качестве гостя рассказывает свой опыт в разработке и тестировании API на PHP, рельсах и Go, и, конечно, немного о PHP7.
На десерт немного юмора: TDD — Train Driven Development, это когда вы пишете код в поезде от нечего делать.
класс! Давно ждал подобный подкаст. Надо бы еще конечно большую версию с продолжительностью под часик второго ведущего и гостей.
Спасибо!
Сделать большую версию — это было бы интересно, но требуется время на подготовку к выпускам и опыт в записи/монтировании, я сам пока не потяну. Поддержу чем смогу, если кто-то возьмётся.
Свой radiot, с блекджеком и всеми вытекающими? :)
Лично мне radiot не нравится нисколько. Просто нужно второе мнение желательно отличное от мнения автора, чтобы было продуктивное и всестороннее обсуждение. Ну и конечно опыт использования из разных областей и т.д. лишним не будет.
Интересно, подписался. Буду отслеживать
Спасибо. Если интересны какие-то конкретные направления тем (например, побольше про фреймворки или тестирование или общие паттерны…), буду рад обратной связи!
Не осилил тупо ни о чем, да и голос прото спать хочется.
А был бы вам интересен, например, формат интервью с известными разработчиками фреймворков? Или детальное и более длительное обсуждение какой-то одной темы, типа Laravel 5 vs Yii 2?
Нет нормального русскоязычного подкаста о PHP и прочая. Ваш уверен соберёт большую аудиторию, поскольку ниша пуста. Конечно 5 минут это ни о чём. Заголовки статей я и сам на хабре прочёл давно. Хотелось бы услышать обсуждение. Голос в подкасте нормальный, микрофон нормальный, слышно нормально — всё пучком. Нужен ещё один ведущий и ОБСУЖДЕНИЕ, ну не обязательно на час, сделайте как получится. Идеальный для меня подкаст это конечно Радио-Т, предлагаю вам технически и содержательно ориентироваться на них. Подписался в Тунце, буду ждать новые выпуски. Удачи вам.
Формат «Пятиминутки» удобен для старта (опыта в подкастинге у меня ещё нет). Брал пример с аналогичного подкаста «Пятиминутка JavaScript» (http://5minjs.ru), где я находил для себя много полезных ссылок и новостей.
Конечно, большой подкаст с обсуждением или интервью с крутыми PHP разработчиками, которые поделятся своим опытом и мнением — это было бы гораздо интереснее. Радио-Т в этом плане отличный отриентир. Надеюсь, однажды получится запустить и такой подкаст.
Чтобы не повторять заголовки статей с Хабра, возможно, стоит больше рассказывать о каких-то не очень популярных (но не менее интересных) новостях и релизах из англоязычной среды?