Вышел php 5.5 alpha 1

  • 16 Ноябрь, 2012

Вот это новость! Наконец-то, вышла php 5.5 alpha 1 (update: уже доступна php 5.5 alpha 3,), из нового:

Новый способ хеширования паролей

Обсуждение

Ссылка на документацию

Поддержка finally в try/catch блоках

Обсуждение
Для меня самое удивительное было узнать, что finally исполнится, даже если в catch блоке выполнится return (либо break, либо continue).

try {
return 2;
} finally {
echo "Это будет вызванно\n";
} //Эхо никогда не выполнится
echo "Вы меня не увидите";

Поддержка генераторов (привет python :) )

Обсуждение

Разыменование в массивах / строках

Обсуждение

echo array(1, 2, 3)[0]; //выведет 1
echo "foobar"[2]; //выведет o
echo "foobar"["foo"][0] //выведет f
echo [1,3,4][2]; //выведет 4

Улучшения в intl расширении

Очень много нововведений, см. полный список

Новый способ хеширования паролей

Обсуждение новвоведения

Поддержка list() в foreach цикле

Обсуждение новвоведения.
Что можно будет делать:

$users = [ ['Павел', 'Дуров'], ['Андрей', 'Рогозов']];
// До новвоведения
foreach($users as $user){
list($firstName, $lastName) = $user;
echo "$firstName по фамилии $lastName участвовал в разработке ВКонтакте";
}
// После новвоведения
foreach($users as list($firstName, $lastName)){
echo "$firstName по фамилии $lastName участвовал в разработке ВКонтакте";
}

С помощью этой фичи избавляемся от лишних переменный — в примере выше — это $user. Не скажу, что это часто требуется, но на мой взгляд писать на пхп становится более лаконичней, хотя python синтаксис в этом плане намного ясней и понятнее.

Теги: