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

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

Ron | CSite.co.il 11-04-08 15:51

שאלה|קריאה לפונקצייה בתוך פונקצייה ממחלקה,אפשרי?
 
שלום לכולם,
אני מנסה לקרוא לפונקצייה שנמצאת בתוך פונקצייה שנמצאת במחלקה.
לדוגמא:
PHP קוד:

class example{

    function 
outside()
    {
             function 
inside()  
             {
                   
//מספר פעולות
             
}
    }                
    
}

$example = new example;
$example->outside();
$example->inside(); 

השגיאה:
Fatal error: Call to undefined method example:: outside() in C:\wamp\www\NewGame\themes\ssd.Class.php on line
108


תודה רבה לעוזרים.

RS324 11-04-08 15:59

בשביל לעשות מה שאתה עושה אתה צריך לעשות :

PHP קוד:

class example{

    function 
outside()
    {
             function 
inside()  
             {
                   
//מספר פעולות
                   
print 'bla';
             }
             
             
inside() ;
             print 
'bla2';
    }                
    
    
}

$example = new example;
$example->outside(); 

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

עוד דרך שתוכל לעשות את זה זה ככה :

PHP קוד:

class example{

    function 
outside()
    {
             function 
inside()  
             {
                   
//מספר פעולות
                   
print 'bla55';
             }
             
             
             print 
'bla2';
    }                
    
    
}

$example = new example;
$example->outside();

inside() ; 

כמו שאמרתי דרך מאד עקומה לעבודה....

Kfir.G 12-04-08 09:56

הרעיון שלך לא ברור לי... למה שתגדיר שיטה בתוך שיטה במחלקה? פשוט תיצור שיטה נוספת בפני עצמה בתוך המחלקה ואם אתה רוצה שרק מתוך המחלקה יוכלו להשתמש בה פשוט תגדיר אותה בתור private. אם אתה עובד עם גירסה ישנה יותר מPHP5 פשוט תעביר לפונקציה פרמטר רנדומלי שנשמר במחלקה וככה בלי גישה לקוד המחלקה עצמה אי אפשר יהיה להשתמש בפונקציה...


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

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