Новые возможности в PHP 5.4
В течении последних нескольких недель в следующую версию PHP были включены весьма интересные возможности, это: “Array dereferencing support” и “Scalar typehints”. Итак, по порядку.
Array dereferencing support.
Эту возможность сообщество разработчиков просило очень давно, но каждый раз она откладывалась. Только недавно она была включена в исходники. Вот что она добавляет.
function foo() {
return array(1, 2, 3);
}
echo foo()[2]; // выводит 3
Разумеется это работает и с анонимными функциями.
$func = function() { return array('a', 'b', 'c'); };
echo $func()[0]; // выводит a
Scalar typehints.
В дополнение к массивам, классам и интерфейсам в PHP была добавлена возможность указывать значения простых типов, таких как int, float, boolean в методах и функциях. Это позволит PHP быть более типизированным языком нежели сейчас.
function print_float(float $f) {
echo $f . "\n";
}
for ($i=1; $i<5; $i++) {
print_float($i / 3);
}
Такая возможность это очень здорово, теперь интерфейсы могут быть полноценнее.
PHP идет правильным путем, но уж очень медленно. Мне очень сильно нехватает поддержки Traits, если по простому это возможность наследовать класс от нескольких классов одновременно. Да и с релизами у них сейчас бардак, до сих пор не понятно будет 5.4 или 6.0, а если будет последняя то видимо без Unicode. :(
Master бранч исходников PHP на GitHub, кому интересно опробовать все своими руками.