PHP 5.4: Основни нововъведения

PHP 5.4 въвежда трейтове, синтаксис [], незабавно индексиране на резултат от функция, $this в затваряния, подсказка callable и вграден уеб сървър за разработка. Това е и почистващо издание: magic quotes, register_globals и safe_mode са премахнати — наследен код, който ги използва, се чупи, докато не се пренапише.

migration54.

Съдържание


Трейтове

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 и генератори.