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

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

daMn 03-12-07 19:23

[php] קריאה לפונקצית מחלקה מתוך פונקציה רגילה
 
הכותרת אמרה די הרבה..
יש לי פונקציה רגילה שבניתי שבתוכה יש קריאה לפונקציה שנמצאת במחלקה..והבנתי שצריך לעשות משהו שונה כדי שזה יעבוד..זה השגיאה שזה נתן לי
PHP קוד:

Fatal errorCall to a member function on a non-object 

הקוד שלי לא משנה כל כך.

Meir 03-12-07 19:30

תכריז על המשתנה שמכיל את האובייקט של מחלקה כגלובלי, כלומר:

PHP קוד:

<?php

class Test
{
    function 
one()
    {
        echo 
'one';
    }
}

$test = new Test();

function 
test()
{
    global 
$test;
    
$test->one();
}

test();

?>

או שתהפוך את הפונקציה שנמצאת במחלקה לסטטית ואז תבצע את הקריאה:

PHP קוד:

<?php

class Test
{
    static function 
one()
    {
        echo 
'one';
    }
}

function 
test()
{
    
Test::one();
}

test();

?>

או שתשתמש בפונקציה מובנת של הPHP לקריאה:

PHP קוד:

<?php

class Test
{
    static function 
one()
    {
        echo 
'one';
    }
}

function 
test()
{
    
call_user_func(array('Test''one'));
}

test();

?>


daMn 03-12-07 19:33

תודה רבה.
לקחתי את העצה הראשונה =]


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

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