LINUX.ORG.RU

PHP 8.0.0

 


1

1

Команда разработчиков PHP объявила о выпуске новой версии языка — PHP 8.0.0.

Улучшения и новые возможности:

  • Union Types. Вместо аннотаций PHPDoc для комбинации типов вы можете использовать нативные объявления типа union, которые проверяются во время выполнения.

  • Именованные аргументы. Вместо аннотаций PHPDoc теперь можно использовать структурированные метаданные с родным синтаксисом PHP.

  • Оператор nullsafe. Вместо проверки на null теперь можно использовать цепочку вызовов с новым оператором nullsafe. Когда проверка одного элемента в цепочке не удается, выполнение всей цепочки прерывается, и она сводится к null.

  • Just-in-time компиляция. В PHP 8 появилось два движка JIT. Tracing JIT, наиболее многообещающий из двух, показывает улучшенную производительность: втрое на синтетических тестах и в 1,5-2 раза на некоторых специфических приложениях. Типичная производительность приложения находится на одном уровне с PHP 7.4.

>>> Подробности

★★★

Проверено: cetjs2 ()

Ответ на: комментарий от kmeaw

Зарплатами программистов на нем. И отношением заказчика к исполнителю.

Так вот, основная проблема по ха пе заключается в том, что заказчик думает, что каждая уборщица или охнанник может писать на нем. И поэтому отношение к программистам на по ха пе напоминает усредненное отношение между охранником и уборщицей.

GP ()
Ответ на: комментарий от goingUp

Круто. Если бы еще когда-то дропнули тяжелое наследие от перла и сишечки, был бы замечательный язык.

Я его только и понимал наследием перла и сисечки. Надеюсь там что-то еще осталось.

hbars ★★★★★ ()
Ответ на: комментарий от kmeaw

Ну и самый главный признак неполноценности быдлоязыка - это так называемый шредингеровский парадокс реализации его ООП: пых пых одновременно НЕ обьекто ориентированный и НЕ НЕ обьектно ориентированный недоязык.

Это означает, что если ты там будешь ПРОДОЛЖАТь писать как ВСЕ, а именно - быдлокод без фреймворков, ООП функций, ллкальных переменных, все в одном файле - то тебя обвинят в быдлокодерстве и выкинут.

И ОДНОВРЕМЕННО, если ты будешь ТУДА пытаться приивнести ООП, всякие фреймворки аля симфони, и даже пытаться НЕ использовать глобальные переменные, то тебе укажут на дверь, сказав, что нужно БЫТЬ КАК ВСЕ.

GP ()

Оператор nullsafe. Вместо проверки на null теперь можно использовать цепочку вызовов с новым оператором nullsafe. Когда проверка одного элемента в цепочке не удается, выполнение всей цепочки прерывается, и она сводится к null.

Всего дохренилион лет понадобилось, чтобы добавить в php сишный

bool result = func1() && func2() && func3();
PPP328 ★★★ ()
Ответ на: комментарий от GP

очередной гуру

Мальчик, знал бы ты что даже у С++ ООП не ООП на самом деле, тогда ты бы думал головой? На данный момент, нет ЯП с концепцией ООП на 100%. Это уже тысячи раз было обсужденно. Никому не нужен ООП в той форме, в которой его пропагандируют.

И даже больше, ООП не является панацеей в программировании. у РНР свой подход к написанию кода и он существует, больше чем ты живешь и не тебе ущербному оскорблять труд людей, на основании своих ущербных знаний

ihappy ()
Ответ на: комментарий от GP

А вот тут я с тобой соглашусь. Из PHP всеми силами стараются сделать нормальный язык вроде Java. Давно уже заметно, как фичи (кстати древние) из Java переносят в PHP. Современный OOP-код на PHP даже похож на таковой из Java.

А если взять какой-нибудь модный PHP-говнофреймворк вроде Laravel или Symfony то отчётливо прослеживается калька и копипаста со Spring Framework.

EXL ★★★★★ ()
Ответ на: комментарий от mx__

ECMA с появлением ноды - это вообще какой-то синтаксический сахар над ещё одним лэиром, где вся ужасная реализация скрыта от глаз хомяков-школьников)

qbbr ★★★★ ()

Вместо аннотаций PHPDoc

Я правильно понял, что юнионы введены только потому, что там какие-то парсеры комментариев обосрались? Ну и как водится в пхп — это говно воткнули прямо в рантайм.

Именованные аргументы вместо аннотаций PHPDoc

Ноги оттуда же, да?

Вместо проверки на null можно использовать цепочку вызовов с новым оператором nullsafe, когда проверка одного элемента в цепочке не удается, выполнение всей цепочки прерывается

Чем это отличается от «if (cond1 || cond2 || condN)»?

deep-purple ★★★★★ ()
Ответ на: комментарий от GP

Какая Java, что ты, PHP - это попытка сделать человеческий Perl с C синтаксисом, но вся эта херня осталась в 90-ых, с шаред хостингами - где один запрос - один вызов интерпретатора пыха и смерть в объятиях Апачей

menangen ★★★★★ ()
Ответ на: комментарий от deep-purple

Да что PHP, что Python куда-то не туда свернули. Facebook же выкатил годный JIT для php, но че-то про него ничего не слышно, зато новый JIT, который по факту мало что ускоряет - теперь на главной

menangen ★★★★★ ()
Ответ на: комментарий от GP

https://spb.hh.ru/vacancy/39785540?vss=11844960

Web-разработчик / программист PHP / MySQL
от 150 000 руб. на руки

ООО РОСТПЭЙ
Ростов-на-Дону, Доломановский переулок, д. 70 Д, оф. 1001, этаж 10

https://spb.hh.ru/vacancy/40024254?vss=11844960

Senior Magento/Magento2 developer
от 200 000 руб. до вычета налогов

Оджетто
Ростов-на-Дону

PPP328 ★★★ ()
Последнее исправление: PPP328 (всего исправлений: 1)
Ответ на: комментарий от GP

Если человек - профессионал, он будет писать грамотно на любом языке. А если же это школота, то никакой, даже самый «правильный» язык, не спасёт от г-нокода.

anonymous ()
Ответ на: комментарий от GP

Когда нода создавалась, никакого тулинга у фронтенда еще не было. Выполнение js на серверах было заимплеменченое с первых версий js еще нетскейпом. Потом в разное время жс движки встраивались в куда-угодно, в том числе скоипты жс использовались в качестве гело-скриптов, и для программировпния asp.net приложений на сервере. Так же всю жизн на жс писали десктоп еще задолго до появления элнктрона. И с гуем и без нено, в виде сервисов и демонов. У жс была куча диалектов и не одна пара плпулярных двтжков, до появления v8. Несколько разлмчающихся по мощности рантаймов. И все это независимо от использования в браузере. С появлением революционного по эффективности движка v8 многие стали пытаться сделать из v8 независимый полноценный рантайм, обернув его в набор необходимых апи. Первому сделать это годно удалось Райану Дайлу, все оформить в MVP. Вокруг mvp образовалось коммунити, стали развивать. Потом проект взялп под крвдо компания. Произошел раскол коммунити с последующим мерджем.

Нода изначально создавалась для общего прикладного назначения.

Еслм вы не жили при всех этих событиях и как слелствие с ними не знакомы, то потредитест хотя бы провести изучение вопроса, прежде чем нести пхинею на технических форумах.

anonymous ()
Ответ на: комментарий от qbbr

Я когда лет 25 назад писал на пхп, то точно знал как расшифровывается это абреавитура. Причем тогда сайты делали в основном только на перле и пхп а перл как ни крути все таки полноценный язык. Помню в пхп был проект пхп-гтк но заглох. Я понимаю все развитие ПХП, добаление классов, шаблонов и т.д. но все равно вряд ли задумает писать настольное приложение на ПХП. Я думаю нам одного электрона уже хватило.

mx__ ★★★★★ ()
Ответ на: комментарий от PPP328

чтобы добавить в php сишный

Там речь совсем не про это, а про obj?->doThis()?->doThat()?->fuckOff(). Если на каком то этапе метод вернёт null, то вся цепочка будет null без выбрасывания ошибки.

no-such-file ★★★★★ ()