При использовании __CLASS__ в trait падает ядро
Issue #72
new
Тестовый код:
<?php
trait ta
{
public function fn()
{
echo __CLASS__;
}
}
class ta
array(0) {
}
function fn
7 0 FETCH_CONSTANT t@0 l#0 NULL 0x10
7 1 ECHO l#0 t@0 l#0 0x0
8 2 RETURN l#0 NULL l#0 0x0
4 0 NOP l#0 l#0 l#0 0x0
11 1 RETURN l#0 1 l#0 0x0
Если вместо CLASS вставить FUNCTION, то всё норм
class ta
array(0) {
}
function fn
7 0 FETCH_CONSTANT t@0 l#0 NULL 0x10
7 1 ECHO l#0 t@0 l#0 0x0
8 2 RETURN l#0 NULL l#0 0x0
4 0 NOP l#0 l#0 l#0 0x0
11 1 RETURN l#0 1 l#0 0x0
Похоже, что для trait значение класса передается через временную переменную, которую не скопировал xcache.