Вышел PHP 5.4 (кандидат в релизы) RC1

confguru

ExAdmin
Команда форума
Представлен кандидат в релизы языка программирования PHP 5.4, который ознаменовал заморозку добавления улучшений и изменений, не связанных с исправлением ошибок, и переход к финальному тестированию.

В новой ветке добавлены новые языковые конструкции и удалены устаревшие возможности.

Подробнее о новшествах можно прочитать в анонсе бета-версии.
http://phpclub.ru/talk/threads/69461/

По сравнению с прошлой тестовой версией исправлено 14 ошибок.

При автоматической конвертации массива в строку теперь выдается предупреждение (notice)
PHP:
print array();
Добавлена возможность доступа к методам и свойствам объекта сразу после его инициализации
PHP:
<?php (new foo())->bar(); ?>
Подробные RC1 изменения тут
http://php.net/releases/NEWS_5_4_0_RC1.txt
 

Вурдалак

Продвинутый новичок
tony2001, если new, то создание объекта Foo, если нет, то нет. В противном случае можно сказать, что надо как-то различать
PHP:
Foo()
и
PHP:
new Foo()
Не вижу логики, честно говоря.
 

MiksIr

miksir@home:~$
Ну может они хотят различать (new Foo())->bar() и new (Foo()->bar()) =) Хотя второй вариант вроде работать не должен.
Ну и визуально со скобками понятнее читается, а то наговнокодят цепочек.... =)
 

Вурдалак

Продвинутый новичок
О том и речь, что второй вариант синтаксически неверен, поэтому как бы место свободно. В конечном счёте пофиг, это же PHP, тут и этому надо радоваться.
 

tz-lom

Продвинутый новичок
new Foo() это
(new Foo)()
или
(new Foo())
???
вот чтобы первый вариант был возможен, скобки и добавили [ LALR(1) не может выполнить правильную свёртку new Foo()() ]
 

Вурдалак

Продвинутый новичок
tz-lom, первый вариант тоже синтаксически неверен, т.е. никакой неоднозначности тут нет. Скобочки, означающие вызов функции/метода, можно поставить только после собственно имени функции или $foo.

Мне кажется, что разработчики просто осторожничают.
 

tony2001

TeaM PHPClub
мне кажется, кому-то надо не додумывать, а подписаться на internals@
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
мне очень интересно вот это:
04 Aug 2011, PHP 5.4.0 Alpha 3
- Added features:
. Short array syntax, see UPGRADING guide for full details
(rsky0711 at gmail . com, sebastian.deutsch at 9elements . com, Pierre)
. Binary numbers format (0b001010). (Jonah dot Harris at gmail dot com)
. Support for Class::{expr}() syntax (Pierrick)
что за сокращенный синтаксис массивов? неужели наконец-то я перестану набирать array() на каждой строке?!

Class::{expr}() no comments, а бинарный формат бывает просто иногда очень нужен
 

~WR~

Новичок
Честно говоря, по сравнению с изменениями между версия 5.2 -> 5.3, кажется очень мало в этот раз.
Хотя может это в 5.3 было слишком много. :)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Пхп все больше приближается к JS)
 

Ragazzo

TDD interested
Adelf
Какой-то косметический плюс, а array dereferencing то работает ок?
 

Adelf

Administrator
Команда форума
Да. Косметический. Но я это очень хотел.

Раз уж на то пошло, ООП - это тоже косметический плюс.

array dereferencing то работает ок
Тоже косметический плюс же :)
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Наконец-то блеать не надо будет писать эти долбанные стрелочки!!! => :)
 
Сверху