Свежая подборка со ссылками на новости и материалы. В выпуске: взломан репозиторий PEAR, о будущем Xdebug, конференция PHP Russia 2019, свежие релизы, RFC предложения из PHP Internals, порция полезных инструментов, и многое другое.
Приятного чтения!
??=
наконец-то закончена и смержена. Несмотря на кажущуюся простоту задачи, имплементация оказалась весьма нетривиальной.$a ??= $b
эквивалентно $a ?? ($a = $b)
. В случае $a[foo()] ??= bar()
функция foo()
будет вызвана ровно один раз, а bar()
будет вызвана, если $a[foo()]
равно null
(или не установлено).// Returns array containing all the necessary state of the object.
public function __serialize(): array;
// Restores the object state from the given data array.
public function __unserialize(array $data): void;
Serialiazable
. К сожалению, исправить сам интерфейс невозможно, но в случае принятия предложения будет рабочая альтернатива.class MotorCycle {
public $vendor;
public $cc;
public $whells = 2;
public function __construct($vendor, $cc) {
$this->vendor = $vendor;
$this->cc = $cc;
}
//other methods
}
class MyCustomMotorCycle extends MotorCycle {
public function __construct($cc, $whells) {
parent::__construct("Custom", $cc);
// $this->cc = $cc; this statement will be added within proposed realisation
$this->whells = $whells;
}
}
class MotorCycle($vendor, $cc){
public $whells = 2;
//other methods
};
class MyCustomMotorCycle($cc, $whells) extends MotorCycle("Custom", $cc){ };
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Больше новостей и комментариев в Telegram-канале PHP Digest.
Прислать ссылку
Поиск ссылок по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 147
К сожалению, не доступен сервер mySQL