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 ()
Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от GP

Это пограничные случаи.

А я разве спорю. Почти любой случай когда нужен человек с мозгами является пограничным, если что. В госконторе или рогах и копытах за жабу 300к тоже получить не выйдет

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

Минералов, нужно больше минералов.

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

тут бы пруфы,

Мои пруфы, это то что php на каждом сайте показывает что сайт сделан на php.

Приглядись внимательней к ссылке:

https://rt.pornhub.com/view_video.php?viewkey=ph5f4bd2fe4c5f4

Видишь .php?

Я не php программист и не работаю на pornhub, но у меня нет идеи зачем им выставлять ссылки как .php если их сайт не на php.

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

ты немного не понял, это обычная практика делать вебпередок на php, даже без урлреврайтинга. Но так как:

Я не php программист и не работаю на pornhub

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

ну и если быть уж совсем честным php вообще никак не претендует на участие в процессах балансировки нагрузки.

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

То есть, если сайт с млн+ посетителей в каждую секунду использует Varnish, ты будешь утверждать, что он справляется с нагрузкой за счет того, что «написан на varnish», не обращая внимания, что на пыхе сделан фронт и биллинг?

wxw ★★★★★
()
Последнее исправление: wxw (всего исправлений: 2)

Sorry

Так как прав нет, то приходится их нарушать.

Читали ли вы монографию Дональда Кнута «Искусство программирования»? Читали ли вы монографию Дональда Кнута «Искусство программирования»?

Книга хорошая и нужная.
Не нужно ее читать «не по диагонали» не «сверху вниз».
Эта книга скорее своего рода «энциклопедия».
Для системного программиста /«если слух есть»/, нужно понять какие имеются объекты и когда какой из них полезен.

ИМХО это самое начало.
Хорошей книги по архитектурам объектов не встречал.
Во всех книгах в основном затрагиваются самые тривиальные вопросы, типа: «в какой объект можно быстро добавить данные», …

На самом деле вопросы, касающиеся проектирования высокоэффективных объектов ни кто не рассматривает и не анализирует.
В лучшем случае предлагают «кашу малашу» из объектов, представленных в книге.

Владимир

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

Несчитал 5 слов с «быдло». 13 слов с капсом. Но не суть. А что не так с ООП там? Чего не хватает? В 7 версии вроде уже всяких фич добавили, даже интерфейсы есть. Конструкторы, деструкторы, сетеры, гетеры, трейты...и прочая.

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

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

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

Это все прекрас - имитация развития язычка.

Но 90% работающего пых пых кода - это легаси PHP4, работающий на сервере с PHP5.

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

Ладно, пусть это будут некоторые пруфы, кстати на картинке с кружочками linux.org.ru я так и не нашел…

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

У меня в команде был программист который там работал, там не php.

Мой бывший там работал, там пхп.

Владимир

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

ты верно уловил суть происходящего.

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

Так он и «живым» был не из-за самого языка. Просто RoR собрал в одном месте много хороших штук, которые хорошо легли на Ruby. А потом все эти идеи были перенесены на другие языки и фреймворки, и киллер-фича исчезла. Практика показала, что возможность кое-где не писать всякие скобочки и прочие символы не так уж и важна, а новичкам даже вредит — они не понимают синтаксической структуры таких конструкций. А всё остальное из RoR перетащить не сложно, и возможность делать то же самое, но на немаргинальном языке, перевешивает возможность иногда делать красивые DSL.

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

Но 90% работающего пых пых кода - это легаси PHP4, работающий на сервере с PHP5.

Голословно. Постоянно работаю с кодом, в котором самые старые фрагменты требуют, минимум, 7.2, а свежие - только 7.4.

Сдаётся мне, вы - просто какой-то упёртый хейтер.

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

и что в германии новый php под запретом?

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

Епт, что значит имитация, если не нем пишут реальные сайты, куда заходят реальные люди и за это даже некоторые получют реальные бабки?

90% работающего пых пых кода - это легаси PHP4

Ты реально отстал от жизни. В 5 и 7 версиях изменили пхп весомо. Пхп 7 это уже не тот пхп 4

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

Наверное надо было уточнить что сам я в Канаде живу и программист тот когда из Pornhub ушел, из Монреаля к нам в Торонто переехал…

Да только кто же мне анонимусу то поверит :)

Коллеге своему расскажу потом как лоровцы лучше всех всё знают, посмеемся.

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

Да только кто же мне анонимусу то поверит :)

Не врешь?

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

Оператор nullsafe

Ждал в жабе, но туда завезли только убогий опшинал.

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

Нет, я просто живу в Германии.

Нувыпонели, о чем я.

Поняли, что не только хейтер, но ещё и хвастунишка.

Живу в России, но работаю удалённо на Штаты. И не вижу ни трудностей от использования именно этого языка, ни презрительного отношения к нему там. PHP - нормальный рабочий инструмент, подходящий решаемым задачам.

Есть у меня знакомый, который в принципе не приемлет ничего, кроме Java. И компанию себе нашёл из таких же фанатиков. Собираются в своем опенспейсе и прочие языки и технологиии говном поливают. Вы мне чем-то его напоминаете.

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

Живу в России, но работаю удалённо на Штаты.

Ага.. Так и запишем: внутренний рыночек для пыхпыхеров пуст или… поддержка кода 20летней давности с глобальными и надежными переменными

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

Ага.. Так и запишем: внутренний рыночек для пыхпыхеров пуст или… поддержка кода 20летней давности с глобальными и надежными переменными

Да, что ты такое несёшь, больной

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

Ага.. Так и запишем: внутренний рыночек для пыхпыхеров пуст или… поддержка кода 20летней давности с глобальными и надежными переменными

Эшо чего-нибудь изреките пожалуйста …

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

Ага.. Так и запишем: внутренний рыночек для пыхпыхеров пуст или… поддержка кода 20летней давности с глобальными и надежными переменными

Супер!

Если корова молока не дает, значит вы ее кормите и быка нет
anonymous
()
Ответ на: комментарий от anonymous

Если корова молока не дает, значит вы ее кормите и быка нет

Если корова молока не дает, значит вы ее не кормите и PHP программисты у вас молоко не пьют

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

Тем, что все эти cond1, cond2, cond3 будут вычислены, а если один из них невычислим, все упадет? А в новом случае вернется null.

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

Тем, что все эти cond1, cond2, cond3 будут вычислены

Тебе не стыдно?

все упадет

Нет, тебе не стыдно.

А в новом случае вернется null

А в старом false и что?

Вот и выросло новое поколение погромистов...

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

Нужна конъюнкция, и напрямую объект не получить, результат логической операции - всегда булево значение.
Но в принципе, можно по разному. Просто сахар.

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

Сходил посмотрел по ссылке пример того как они предлагают это говно использовать. И я в шоке — с хера ты лезешь вглубь объектов не зная проиничено оно там или нет? Это каким отморозком надо быть чтобы не проинитить всё что надо до использования?

$country = $session?->user?->getAddress()?->country;
И каким отморозком надо быть, чтобы проверять «не проиничено ли» в момент и месте использования?
$country =  null;

if ($session !== null) {
  $user = $session->user;

  if ($user !== null) {
    $address = $user->getAddress();
 
    if ($address !== null) {
      $country = $address->country;
    }
  }
}
Докатились бл...

И в чём проблема сразу писать правильно (хош сразу инить, хош ленивую делай):

$country = $session->getUser()->getAddress()->getCountry();

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

в чём проблема сразу писать правильно

Проблема в человеках. А так-то конечно никакой проблемы нет с ходу писать идеальные программы без единой ошибки и архитектурного недочёта. Но соломку лучше всё-таки подстелить.

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

а к 8й версии то превратился во вроде то и не плохой язык, надо бы попробовать при следующей необходимости ворваться в веб бэкенд

хотя, с другой стороны, есть же и го

actionless ★★★★★
()
Последнее исправление: actionless (всего исправлений: 1)

Just-in-time компиляция. В PHP 8 появилось два движка JIT

Никогда не думал что php это компилируемый я.п. Всегда думал что это просто скрипты для исполнения вебсерверами, и уже именно их задача уметь его интерпретировать.

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

Уже 8 лет как - https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/, а пых-пыхеры еще не вылезли из криокамеры.

По правде говоря можно приводить сколько угодно таких ссылок и доводов, но это ничего не поменяет. Это как клипы Моргенштерна и песни Бузовой, все понимают что полный п*****, но все равно миллионы просмотров

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

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

splinter ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.