Ранее:
- Что нового в php 5.4 — 10 новых возможностей.
10 новых возможностей php 5.5
1. Генераторы. Введено ключевое слово yield
. Позволяет значительно экономить память.
2. Хэширование паролей. Для хэширования паролей и проверки хэшей появились функции:
password_hash($password, PASSWORD_BCRYPT); password_verify($password, $passwordhash);
3. Блок finally для exceptions. Finally выполняется всегда после try/catch независимо от того, какой блок сработал.
4. Обращение к строкам как к массивам. Разыменование строк.
echo "testString"[3]; // вернёт 't'
5. Доступ к имени класса с namespace через ClassName::class
.
6. list в foreach. Внутри foreach теперь можно использовать функцию list:
$array = [ [1, 2], [3, 4], ]; foreach ($array as list($a, $b)) { echo "A - $a; B - $b"; } // выведет A - 1; B - 4.
7. Оператор empty теперь может работать с выражениями:
if (empty($this->foo()))
8. геттеры и сеттеры для свойств.
class TimePeriodExample { private $seconds; public $hours { get { return $this->seconds / 3600; } set { $this->seconds = $value * 3600; } } } $time = new TimePeriod(); // Доступ к свойству как и в более ранних версиях php $time->hours = 12; // запишется 43200 в $time->seconds echo $time->hours; // выведем 12
9. Скалярные тайпхинты. В параметрах функций и методов можно задавать ожидаемые скалярные типы, такие как int, float, bool, string.
function foo(int $i, int $j) {} function foo2(string $city) {} function foo3(float $number) {}
10. Разыменование массивов.
echo [1,2,3][0]; //вернёт 1
В php 5.5 удалено:
- Прекращена поддержка Windows XP и Windows 2003;
- Удалены некоторые функции: php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(), zend_logo_guid();
-
В preg_replace() больше не поддерживается модификатор "/e", который позволял replacement интерпретировать как php-код (eval). Вместо него использовать
preg_replace_callback
. - mysql_connect теперь deprecated. Вместо него нужно использовать mysqli либо pdo.
Новые возможности более новых версий php:
- Что нового в php 5.6 — 10 новых возможностей.
- Что нового в php 8.0
Комментарии 0