Đây thực sự là một điều kỳ lạ. Tôi có một số mã đang vui vẻ làm việc trên phiên bản 2.1.1RC1 của mô-đun php5-imagick. Về cơ bản nó chỉ là một lớp mà tôi đã viết để mở rộng lớp Imagick và quản lý hình ảnh được lưu trữ trong cơ sở dữ liệu.Kỳ lạ PHP mở rộng lớp IMagick
Kể từ khi nâng cấp lên phiên bản 3.0.0RC1 (may mắn chỉ trên hộp dev của tôi) mọi thứ đã đi vào địa ngục. Dường như các thành viên đối tượng có thể ghi được nhưng KHÔNG thể đọc được. Hãy lấy mã mẫu sau:
class db_image extends IMagick {
private $data;
function __construct($id = null){
parent::__construct();
$this->data = 'some plain text';
echo $this->data;
}
Điều này sẽ xuất ra hoàn toàn NOTHING. Trình gỡ lỗi của tôi cho biết nội dung của $ this-> data là giá trị chuỗi chính xác, nhưng tôi không thể đọc giá trị trở lại của biến thành viên.
Nghiêm túc. WTF? Có ai biết điều gì đang gây ra điều này hoặc đã từng thấy trước đó không? Tôi thậm chí không biết cách sao chép hành vi này trong các lớp học của riêng tôi.
Đầu cơ thuần túy, nhưng có lẽ là mới 'IMagick 'class có thành viên' private $ data' riêng của nó, ngăn cản bạn ghi đè nó. Các tên biến khác có hoạt động như mong đợi không? – deceze
Bạn có thể hiển thị mã đầy đủ không? –
Thật không may, nó không quan trọng tên biến thành viên là gì. Gọi nó là $ sdfhjsdfhlsdf và nó sẽ có cùng kết quả. Cảm ơn mặc dù. –