Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0RC3, CodeIgniter 4.0.0 alpha1 и другие релизы, 62% сайтов работает на PHP 5, видеозаписи докладов с конференций и митапов, порция полезных инструментов, и многое другое.
Приятного чтения!
Новости и релизы
- PHP 7.3.0RC3 — Очередной релиз-кандидат доставлен по расписанию. Почитать обзоры нововведений можно тут, тут, тут, тут, и послушать тут.
- PHP 7.2.11
- PHP 7.1.23
- PHPUnit 7.4 — Также доступен перевод документации на русский от lex111.
- CodeIgniter 4.0.0 alpha1
- 62% сайтов в интернете используют PHP <=5.6 — В конце 2015 года было принято предложение продлить срок поддержки PHP 5 до конца 2018. Тем не менее больше половины всех сайтов все еще работают на PHP 5.
PHP Internals
- RFC: Spread Operator in Array — В черновике рассматривается возможность добавить оператор
...
для массивов.Скрытый текст$parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
Инструменты
- ricardofiorani/php-legofy — Превратит ваше изображение в картинку из кубиков LEGO.
- mougrim/php-xdebug-proxy — Dbgp Xdebug прокси. Подробнее об использовании прокси можно почитать тут. Прислал mougrim.
- alhimik1986/php-excel-templator — Инструмент поможет сгенерировать Excel-файлы на основе шаблонов и плейсхолдеров. Хабрапост в поддержку.
- localheinz/composer-normalize — Плагин для Composer, который приведет в порядок composer.json.
- Symplify/ChangelogLinker — Инструмент сделает красивые и удобные
CHANGELOG.md
. Пост в поддержку. - phpecc/phpecc — Библиотека с реализациями алгоритмов эллиптической криптографии на чистом PHP.
- offdev/csv — Работа с CSV файлами с помощью стримов.
- matthiasnoback/TalisORM — Простая ORM для доменных моделей DDD.
- twirphp/twirp — Порт RPC-фреймворка Twirp от Twitch на PHP, пока в разработке.
- slashtrace/slashtrace — Красивые и информативные страницы ошибок с поддержкой агрегаторов Sentry, Raygun, Bugsnag. Альтернатива filp/whoops.
Материалы для обучения
Symfony
- Неделя Symfony #615 (8-14 октября 2018)
- Неделя Symfony #614 (1-7 октябрь 2018)
- Symfony 4: HTTP/2 push и предзагрузка
- Подробный разбор Symfony компонента DependencyInjection
Laravel
- beyondcode/laravel-tag-helper — Хелперы HTML тегов.
- akaunting/akaunting — Сервис для ведения бухгалтерии на базе Laravel.
- Многие сайты на Laravel запущены с включенным DEBUG режимом
- Docker + Laravel = ?
Async PHP
- mmasiukevich/service-bus — Фреймворк на базе Amphp для построения приложений с использованием паттернов Saga, CQRS, EventSourcing, Message Bus.
CMS
- Даты релизов Drupal — 8.7 – 1 мая 2019, 8.8 – 4 декабря 2019
- Создатель WordPress Мэтт Мулленвег поделился планом на WordPress 5.0
- Интересный анализ использования eval() в PHP-приложениях
- О тестировании репозиториев
- 5 типов тестовых двойников и как их создавать в PHPUnit
- Как создавать фикстуры и избежать типичных проблем
- TDD в PhpStorm и автозапуск тестов
- Как сделать дополнение кода в PhpStorm для контейнеров PSR-11
- Конкатенация vs. sprintf vs. интерполяция — А что вы используете для объединения строк и переменных?
- Stateless Services — Старая, но все еще актуальная статья о том, почему сервисы не должны хранить состояние.
- PHP Excel Templator (PHP-шаблонизатор для Excel) или как мы до этого писали хардкод для Excel
- Машинное зрение: установка, настройка и использование Google Cloud Vision на PHP
- Android-приложения на JPHP
Аудио и видеоматериалы
- Видеозаписи докладов PHPConf.Asia 2018
- prooph/micro and FPP — less is more — Главный разработчик проекта Prooph Components рассказывает о создании микросервисов на базе prooph/micro и как функциональное программирование и генерация кода может в этом помочь. Прислал @dmitrybalabka.
- Maximum PhpStorm
- Подкаст Three Devs & A Maybe: Symfony приложения на AWS Lambda
- Tutu PHP Meetup #2: видео выступлений
- Пятиминутка PHP Выпуск №40 — Continue targeting switch — В PHP 7.3, если написать continue без цифры 2 внутри switch внутри цикла он, то получим Warning: «continue» targeting switch is equivalent to «break». Did you mean to use «continue 2»? Разбираемся в ситуации.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 140
Комментарии (21)
FFunk
15.10.2018 10:13Что-то про Yii новостей нет. Он жив? :)
Akdmeh
15.10.2018 12:19+2github.com/yiisoft/yii-core/commits/master
Здесь слежу за всеми новостями разработки.
SamDark
15.10.2018 16:56+1Жив. Основные части 3.0 уже можно даже запустить. Но пока там много работы, не хотим раздувать новостей из ничего...
springimport
15.10.2018 18:31+2Если коротко: время перемен: 2.0 уже порядком устарел, а нового 3.0 еще нет.
Стало очевидно что нужно переделывать компоненты (как минимум, отделять от ядра) и менять подходы (например, названия и версионирование), убирать зависимости от jquery, bootstrap. Убирать тот же pjax.
Нужно как-то решить вопрос с типизированием потому что компоненты принимают все подряд в аргументах.
Многое уже сделано, многое еще предстоит сделать, поэтому ждать 3.0 раньше начала-середины 2019 я бы точно не стал.
А еще интересный момент в концепции фреймворка. С одной стороны, Александр когда-то заявлял что фрейм создан для RAD-разработки и до сих пор это успешно работало. С другой стороны, тренд движется в сторону разработки более высокого уровня с использованием репозиториев, etc, что видно на примере Symfony и, особенно, Laravel. Многие уже наломали дров с тем же AR, видимо.
Собственно, мое видение как наблюдающего за всем этим.OnYourLips
15.10.2018 18:56+1С другой стороны, тренд движется в сторону разработки более высокого уровня с использованием репозиториев, etc, что видно на примере Symfony и, особенно, Laravel. Многие уже наломали дров с тем же AR, видимо.
Лично я не понимаю, зачем в одном проекте смешивать http и ORM — это же никак не связанные вещи.
Symfony в этом плане отлично поступил и просто не имеет прослойки модели.
И то, что выкинули фронтенд — тоже замечательно, в современном вебе фронтенд и бекенд — обычно разные проекты. Никто же не добавляет код Android или iPhone приложений в репозиторий бекенда? Так чем фронтенд хуже?SoloFeeD
16.10.2018 17:12Я думаю все упирается в скорость разработки, просто у нас уже принято дефакто фул стек разработчик может делать и фронт и бек, и вот фреймворки в этом помогали, чтобы делать все вместе, без смены контекста
А с Android и ios уже другой вопрос, если бы фул стеки еще знали swift или kotlin, то почему нет?)
Да, тренд диктует что нужно делать в разных корзинах фронт и бек, с чем я и согласенOnYourLips
16.10.2018 17:25А с Android и ios уже другой вопрос, если бы фул стеки еще знали swift или kotlin, то почему нет?)
Чтобы не делать гору из кода, грамотно управлять задачами, релизами (релизить части системы по-отдельности).
А что касается фулстека, то есть проекты и побольше, где уже выгоднее брать профессионалов.Fesor
16.10.2018 18:07(релизить части системы по-отдельности)
Монорепы это хорошо.
где уже выгоднее брать профессионалов.
А вот сейчас обидно было.
OnYourLips
16.10.2018 19:40Монорепы это хорошо.
Как вы одновременно обновляете бекенд и iOS приложение, с учетом того, что требуется апрув приложения?
А вот сейчас обидно было.
Почему? Если проекты сравнимого качества, а два человека сравнимой обучаемости, то профессионалом будет тот, кто углубился в своей области, а не кто везде понемногу пробует. Так что почему обидно?Fesor
17.10.2018 12:44Как вы одновременно обновляете бекенд и iOS приложение
зачем одновеменно? нужно же независимо
то профессионалом будет тот, кто углубился в своей области
Мне не нравится что вы смешиваете понятие "обучаемость", "узкой специализации" и "профессионализм". Я понимаю что имелось ввиду, но категорически не согласен с формулировкой.
Да, конечно если мы говорим о людях с одинаковым уровнем обучаемости и мотивации, то значит объем знаний у людей одинаковый. И у отдельно фронтэнд и отдельно бэкэнд разработчика по идее было бы шире покрыта та часть работы с которой он работает.
Только не стоит забывать что большая часть знаний и опыта из одной сферы прекрасно ложится на другую. Что делает все чуть сложнее.
Fesor
16.10.2018 18:05> может делать и фронт и бек
Не в этом идея, а в полном отделении провайдеров данных от UI компонентов. Уж извините, но все эти виджеты из yii морально устарели, плохо скейлятся и я не вижу никакого смысла их использовать в 2018-ом году. Почти все эти компоненты доступны независимо под любой UI фреймворк.
Что до отдельных репозиториев — у меня вот монореп, где лежат рядом и бэк, и фронт, и андроид и ios. И нет никаких проблем, и удобно, и все такое. И фулстэк не фулстэк — проблема yii в том что php файлики влияют на отображение js компонентов и вообще отвечают за рэндринг. Фу.
reentgenius
15.10.2018 10:20Спасибо за подборку! Очень жаль, что новостей по Yii2 нет уже второй выпуск подряд.
greeflas
15.10.2018 16:56Держите порцию полезных расширений для Yii2 :)
github.com/yiimaker/yii2-social-share
github.com/yiimaker/yii2-email-templates
mougrim
15.10.2018 10:31+2Спасибо за дайджест!
mougrim/php-xdebug-proxy — Dbgp Xdebug прокси. Подробнее об использовании прокси можно почитать тут. Прислал mougrim.
От себя добавлю, инструмент написан на php и расширяем, что позволяет вносить правки на знакомом языке.
Из любопытного, под капотом асинхронный фреймворк amphp.
arturpanteleev
15.10.2018 13:42+1CodeIgniter 4.0.0 alpha1
Интересно насколько реально актуальна и востребована его разработка в 2018 году? Или ей занимаются энтузиасты, исходя из каких то ностальгических соображений?Fesor
15.10.2018 14:05+2ностальгических соображений?
религиозных.
На самом деле конкуренция никому не повредит, но вот делать тоже самое что было и раньше — плохая инвестиция как по мне.
arturpanteleev
15.10.2018 18:03Не вижу я тут предпосылок для конкуренции.
Если они будут разрабатывать продукт в соответствии с идеями оригинального codeigniter(насколько я помню максимальнго успеха вторая версия добилась), то боюсь, что ударятся в то, что прогресс за упущенный период времени сделал некотоыре шаги вперёд.
А если это будет очередная компоновка компонентов симфони с каким то сахаром, под именем популярного в прошлом бренда то… смысл менять кому-то шило на мыло?mmasiukevich
15.10.2018 22:58+1Своя аудитория всё равно найдётся. Ну и в конечном счёте, где гарантия, что их «сахар»
не повляет на дальнейшее развития событий?)
Пускай развиваются, мало ли ещё чем-то удивят в будущем. Или нет (но это будет уже другая история). Так или иначе, сахар над симфони компонентами может быть весьма популярным ;)
gogolinsky
Спасибо!