הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה מחזיר NULL במקום אובייקט PHP (https://hosts.co.il/forums/showthread.php?t=105580)

MAORBARI 04-11-13 20:45

בעיה מחזיר NULL במקום אובייקט PHP
 
שלום לכולם..
יש לי class ובתוכו פונקציית קסם __get
PHP קוד:

    public function __get($prop) {
        
$this->actions['action'] = 'select';
        return 
$this;
    } 

עכשיו אני קורא ל CLASS נגיד:
PHP קוד:

print_r($class->some_get); 

הוא מחזיר לי ערך NULL, עשיתי גם var_dump, גם כן מציג NULL במקום להביא לי את האובייקט..
מה שמצחיק שב WAMP זה עובד טוב אבל בשרת פתאום זה משתגע.. מה יכולה להיות הבעיה?

תודה רבה!

אדיר 04-11-13 23:16

לא התעמקתי - אבל אם אותו קוד בדיוק עובד בסביבה אחרת, אולי בשרת יש php בגרסה ישנה יותר שלא תומכת בזה.

MAORBARI 05-11-13 01:22

ציטוט:

נכתב במקור על ידי אדיר (פרסם 883563)
לא התעמקתי - אבל אם אותו קוד בדיוק עובד בסביבה אחרת, אולי בשרת יש php בגרסה ישנה יותר שלא תומכת בזה.

כן מסתבר שיש באג, רק אם זה יקרה למישהו שידע:
הבאג קרה לי בגירסה 5.2.17, התיקון של זה נמצא ב 5.3.7:
5.3.7: Crash accessing global object itself returned from its __get()
זה התיקון מצוטט מהרשימת לוג שלהם.. לקח לי שעות למצוא את הפתרון.. אבל רק שתדע ברגע שקבעתם אובייקט כגלובלי (global או שהכנסתם אותו למערך globals) ויש לו פונקציית __get,
ובפונקצייה הזאת אתם מחזירים $this. הוא יחזיר ערך ערך ולא את האובייקט. זה בדיוק הבאג.
בגרסה 5.3.7 תקנו את זה.


כל הזמנים הם GMT +2. הזמן כעת הוא 21:34.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ