2010-11-05 15 views
5

विस्तारित यह वास्तव में अजीब है। मेरे पास कुछ कोड है जो php5-imagick मॉड्यूल के संस्करण 2.1.1RC1 पर खुशी से काम कर रहा है। यह मूल रूप से सिर्फ एक वर्ग है जिसे मैंने लिखा है इमेजिक कक्षा को विस्तारित करता है और डेटाबेस में संग्रहीत छवियों का प्रबंधन करता है।PHP अजीबता इमेजिक वर्ग

संस्करण 3.0.0 आरसी 1 (केवल मेरे देव बॉक्स पर धन्यवाद) के बाद से चीजें नरक में चली गई हैं। ऐसा लगता है कि ऑब्जेक्ट सदस्य लिखने योग्य हैं लेकिन पठनीय नहीं हैं। निम्नलिखित नमूना कोड लें:

class db_image extends IMagick { 

private $data; 

function __construct($id = null){ 
    parent::__construct(); 

    $this->data = 'some plain text'; 

    echo $this->data; 
} 

यह बिल्कुल कुछ भी आउटपुट नहीं करेगा। मेरा डीबगर इंगित करता है कि $ की सामग्री-> डेटा सही स्ट्रिंग मान हैं, लेकिन मैं सदस्य चर के मूल्य को वापस पढ़ने में असमर्थ हूं।

गंभीरता से। WTF? क्या किसी को पता है कि इसका क्या कारण है या इसे पहले देखा है? मैं यह भी नहीं जानता कि इस व्यवहार को अपने वर्गों में कैसे दोहराना है।

+3

शुद्ध अटकलें, लेकिन शायद नई 'Imagick 'वर्ग का अपना' निजी $ डेटा 'सदस्य है, जो आपको इसे ओवरराइड करने से रोकता है। अन्य वैरिएबल नाम अपेक्षित काम करते हैं? – deceze

+0

क्या आप पूरा कोड दिखा सकते हैं? –

+0

दुर्भाग्यवश इससे कोई फर्क नहीं पड़ता कि सदस्य परिवर्तनीय नाम क्या है। इसे $ sdfhjsdfhlsdf पर कॉल करें और इसका एक ही परिणाम होगा। हालांकि धन्यवाद। –

उत्तर

1

मैं एक ही समस्या हुई है और एक बग रिपोर्ट दायर की: http://pecl.php.net/bugs/bug.php?id=21229

ऐसा लगता है कि अब svn में तय किया गया है - लेकिन अभी तक कोशिश नहीं की है। इसके अलावा इन प्रकार की बग्स विदेशी नहीं लगती हैं: http://pecl.php.net/bugs/bug.php?id=15960&edit=2

0

अच्छी तरह से, मैं Imagick वर्ग यदि निम्न काम करता है पता नहीं है, लेकिन propably यह एन बाहर निकलें करता है या मर जाते हैं या यह की निर्माता में कुछ है, तो बस का परीक्षण:

class db_image extends IMagick 
{ 
    private $data; 

    function __construct($id = null) 
    { 
     $this->data = 'some plain text'; 
     echo $this->data; 

     parent::__construct(); 
    } 
} 

new db_image; 
+0

महान विचार। लेकिन दुर्भाग्य से यह अभी भी वही काम करता है। हालांकि धन्यवाद। –

+0

अच्छी तरह से, तो यह एक बहुत ही असामान्य समस्या की तरह लगता है .. ^^ –

1

यह वास्तव में कल्पनाशील लाइब्रेरी में एक बग प्रतीत होता है क्योंकि लाइफफ्यूएंटर ने बताया। मैं Imagick-3.0.1 के साथ इस समस्या का सामना करना पड़ा है और यह भी Imagick-3.0.0 - मैं खुद के लिए समस्या का समाधान कर लिया Imagick-2.3.0 में डाउनग्रेड द्वारा:

# pecl uninstall imagick 
# pecl install imagick-2.3.0 
संबंधित मुद्दे