There are 999 reasons to become levi niner. Find yours at levi9.com/jobs
×Закрыть

PHP дайджест #20: PHP в 2019, прийняті RFC, 7.4 уже вийшов

Основне

PHP в 2019 — пам’ятаєте нашумілу статтю PHP: a fractal of bad design? Ось це відповідь на неї в контексті 2019 року, коли вже вийшов РНР 7.4 і багато іншого, що змінилось в РНР.

Linux Foundation тепер буде керувати розробкою Zend Framework.

Що нового в 7.4? — підбірка нововведень з прикладами.

PHP and JIT — розмова з Zeev Suraski (СТО в РНР) про те, як JIT працюватиме в PHP 8.

Deprecating Short Open Tags — розмова з George Banyard (контриб’ютор в РНР) про заборону Short Open Tags і те, як це може вплинути на РНР.

Bundled Extensions — розмова з Kalle Nielsen (PHP 7.0 Release Manager) про bundled extensions і те, як він працював над портом РНР для Windows.

LSP and Operator Precedence — розмова з Nikita Popov (контриб’ютор в РНР) про його останні RFC і як це в’яжеться з принципом підстановки Ліскова.

I forgot how to manage a server

7 Continuous Integration Tools for PHP Laravel Developers

PSR-14: Example — Delayed Events, Queues, and Asynchronicity

Implementing event sourcing: improving the developer experience

Read-Writable Regular Expressions

Symfony

A Week of Symfony #645 (6-12 May 2019)

A Week of Symfony #644 (29 April — 5 May 2019)

A Week of Symfony #643 (22-28 April 2019)

Laravel

7 Continuous Integration Tools for PHP Laravel Developers

Setting Up Laravel 5.8 With Authentication & Role Based Access

Laravel Snippet #12

E Commerce на Laravel (aimeos/aimeos-laravel)

Як працює Eloquent

PHP RFC

PHP RFC: Change the precedence of the concatenation operator

PHP RFC: Arrow Functions 2.0

PHP RFC: Spread Operator in Array Expression

Релізи

PHP 7.1.29

PHP 7.2.18

PHP 7.3.5

Codeception 3.0

Open source

Blade без Laravel (EFTEC/BladeOne)

Підбірка інструментів для роботи з Composer (jakoch/awesome-composer)

Підбірка інструментів для роботи з PHP (ziadoz/awesome-php)

💡Instant PHP quality checks from your console

Івенти

1 червня у Києві відбудеться конференція № 1 в Україні для PHP розробників — PHP fwdays!

Вперше в Україні! Fabien Potencier — засновник Symfony framework😱

Ви дізнаєтесь про: проектування гібридних додатків Go / PHP за допомогою RoadRunner, реалізацію асинхронних бінарних клієнтів у PHP, методику тестування мутацій та як вона може бути використана, розглянете проблеми, які виникають у результаті порушення сумісності з існуючими інструментами, як запобігти подібні порушенням та багато іншого.

Три треки практичних доповідей, 1 сommunity discussion трек, розривне Afterparty та гарний настрій на весь день гарантовані! Купуйте квиток зі знижкою 15% за промо кодом AA69BE0275

Різне

Безкоштовна емейл-розсилка з кращими лекціями по frontend. Щотижня нова доповідь.

Цікаве обговорення проблем з Doctrine на Reddit

Репозиторій на Github з задачками по РНР — підходить для тих, хто планує змінити роботу і хоче потренуватись.

Досить часто у нашій роботі бувають потрібні не тільки навички програмування, але й гарне оформлення наших робіт (open source, сайт-портфоліо, pet-projects), але не завжди під рукою є хороший дизайнер. Компанія Pizdata допомагає вирішувати бізнес-проблеми за допомогою дизайну.

З вами був Роман Севастьянов @romasevastyanov.

Підписуйтесь на мій Телеграм канал про PHP — я там публікую новини зі світу PHP, security баги в live режимі.


← Попередній випуск: PHP дайджест #19

LinkedIn

8 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.
з принципом підстановки Ліскова

Barbara Liskov. Прізвище тут не відміняється. Т.ч. можна сказати принципом підстановки Барбари Лісков

Що ж цей short_open_tag так чешиться?

Замість того, щоб сказати, що php в xml — це антипаттерн. Та й сам xml вже по трохи стає deprecated як стандарт. Замість цього вони «покращують» сумісність з ним.

Якщо зараз php з short_open_tag та з конструкціями типу if/endif є досить гарним шаблонізотором, то без short_open_tag шаблони вже занадто нагромадженими будуть. Ще декілька таких змін і php перестане мати якісь переваги над іншими мовами для веб розробки .... ехх (((

1) упразднение short_open_tag-а вроде как не приняли, так что можешь не волноваться
2) сейчас наличие его является говнокодом. Имхо + мнение знакомых
3) не путай short_open_tag и конструкции типа ’if-else’ в шаблонах. Это совсем разные вещи
4) чем шаблоны будут нагромождены если вместо «< ?» ставить «< ? php» ... ? Смешно просто

В принципе, да бог бы с ним, главное что <?= никто трогать не планирует, а для if/for не сильно длинее писать полный тег.

А короткий <? это уже несколько лет моветон.

Гораздо инетеснее новые фичи: short closures, preloading, typed properties в 7.4

1. Так, наче, як раз прийняли: wiki.php.net/...​/deprecate_php_short_tags

2,3,4. Круто, що знайшовся хтось з протилежною думкою. Дуже цікаво почути вашу аргументацію. Якщо НЕ вважати аргументами «проблему з xml» та «адмін на сервері не налаштував коніфг», чи можете навести причини чому «является говнокодом»? Адже навіть в RFC толком не навели аргументацію. Ця дискусія схожа на маленьке полювання на відьом по релігійним переконанням.

З моє сторони, насправді, є лише один арумент «за»: це ті самі шаблони.
< ? if (...) :?> ... < ? else: ?> ... < ? endif ?>
значно краще та лаконічніше виглядає ніж
< ?php if (...) :?> ... < ?php else: ?> ... < ?php endif ?>

Перший варіант схожий на «шаблон», а другий — на костиль.
В першиму варіанті дуже мало аргументів для використання окремого шаблонізатора, а в другому — я б вже почав задумуватися.

Смешно просто

Давайте без постправди))
Ви дійсно шаблони пишите без шаблонізаторів і так вважаєте?
З мого досвіду в більш-менш складному шаблоні, цей відкритий тег < ?php починає просто нагромаджувати код і виїдати око.

1) Status: Voting + куча народа, который не согласился с такой идеей.
2,3,4 вы сами назвали + код, начинающийся «< ?» подразумевает, что дальше будет значительный кусок кода и крайне желательно указать, на каком языке он написал(особенно для проектов с несколькими языками), т.е. «< ? php» . Если же вам нужно просто вывести значение переменной, то просто юзаете «< ? =», который к данным short tag-ам никакого отношения не имеет и работает в пхп 5.4+

Давайте без постправди))

Как я уже сказал, для вывода в шаблоне юзается «< ? = $soveVar» . Если вы до сих пор юзаете «< ? echo $someVar», то здесь я ничего не могу поделать

1. Дивно про «voting», адже далі «This poll has been closed».

особенно для проектов с несколькими языками

У вашому досвіді зустрічалися випадки, коли дійсно по тексту після < ? ви визначали що то за мова? В моєму — ні ... Це ще одна неіснуюча проблема як і з xml?

Щодо решти ... про < ?= питання не стоїть. Це добре, що хоч це не чіпають. Хоча всі ваші аргументи проти < ? з таким самим успіхом можна застосувати і до < ?=
Питання стоїть за та їм подібні.

1. Глянул, в php8 его выпиливают, а в php 7* не трогают.

Хоча всі ваші аргументи проти < ? з таким самим успіхом можна застосувати і до < ?=

Не вижу в вашей фразе вообще никакой логики т.к.
— < ? = не путается с xml-ем и конфигурацией сервера. Главное что б пыха была 5.4
— После < ? = нельзя написать какую-то серьезную логику т.к. это только замена ’echo’

Подписаться на комментарии