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