Это действительно странно. У меня есть код, который с удовольствием работает над версией 2.1.1RC1 модуля php5-imagick. В основном это класс, который я написал, который расширяет класс Imagick и управляет изображениями, хранящимися в базе данных.Расширение PHP странности Класс IMagick
С момента обновления до версии 3.0.0RC1 (к счастью, только на моем блоке dev) все пошло в ад. Кажется, что члены объекта могут быть записаны, но НЕ читаемы. Возьмите следующий пример кода:
class db_image extends IMagick {
private $data;
function __construct($id = null){
parent::__construct();
$this->data = 'some plain text';
echo $this->data;
}
Это будет выводить абсолютно НИЧЕГО. Мой отладчик указывает, что содержимое $ this-> data - правильное строковое значение, но я не могу прочитать значение обратно из переменной-члена.
Серьезно. WTF? Кто-нибудь знает, что вызывает это или видел раньше? Я даже не знаю, как воспроизвести это поведение в моих собственных классах.
чистой спекуляции, но, возможно, новый 'Imagick 'class имеет свой собственный' private $ data' член, который мешает вам переопределить его. Другие имена переменных работают так, как ожидалось? – deceze
Можете ли вы показать полный код? –
К сожалению, не имеет значения, что такое имя переменной-члена. Назовите его $ sdfhjsdfhlsdf, и он будет иметь тот же результат. Спасибо хоть. –