PHP 5.4: Головні нововведення
PHP 5.4 додає трейти, скорочений запис масивів [], негайну індексацію результату функції, $this у замиканнях, підказку callable і вбудований вебсервер для розробки. Це також реліз очищення: magic quotes, register_globals і safe_mode видалені — старий код, що на цьому тримався, потребує рефакторингу.
Документація: migration54.
Зміст
- Трейти
- Короткий масив
[] callable$thisу замиканнях- Вбудований сервер
- Синтаксис
- Рецепти
- Зворотна несумісність
- Deprecated
- Інше
Трейти
trait Timestampable
{
public function touch()
{
$this->updatedAt = new \DateTime();
}
}
class Post
{
use Timestampable;
}
Короткий масив []
$rows = [['id' => 1], ['id' => 2]];
callable
function registerHandler(callable $fn) {}
$this у замиканнях
Замикання всередині методу можуть використовувати поточний об’єкт через $this.
Вбудований сервер
php -S localhost:8080 -t public/ — лише для dev; у проді потрібен повноцінний стек.
Синтаксис
Двійкові літерали 0b…, звернення виду foo()[0].
Рецепти
Явно звертайтеся до $_GET/$_POST. Приберіть зайві stripslashes(), залишені «під magic quotes».
Зворотна несумісність
migration54 incompatible: прибрано magic quotes, register_globals, safe_mode; mysql deprecated; перевірте цикли з break/continue.
Deprecated
mysql_*, split() — migration54 deprecated.
Інше
Перезапустіть регресійні тести сесій і серіалізації.
Підсумок
5.4 поєднує зручність трейтів і [] із здоровішою моделлю вводу без globals і magic quotes — гарний крок до 5.5 і генераторів.