הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 24-12-07, 16:32   # 1
Ben Segal
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 195

Ben Segal לא מחובר  

שאלה בPHP | כיצד ניתן בתוך מחלקה לקרוא לפונקציה ממחלקה אחרת?

אני בונה כעת אתר ב-PHP, ואני צריך עזרה ממש קטנה.
בניתי כמה מחלקות והבעיה היא שאני רוצה לדעת כיצד אני יכול לקרוא למחלקה כלשהי כשאני בתוך מחלקה אחת.

נגיד יש לי קובץ A שיש בו את המחלקה A ויש לי קובץ B שיש בו את המחלקה B.
איך אני יכול בתוך פונקציה במחלקה A לקרוא לפונקציה אשר נמצאת במחלקה B?
__________________
  Reply With Quote
ישן 24-12-07, 16:34   # 2
DavidBD
חבר על
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
גיל: 31
הודעות: 956

DavidBD לא מחובר  

עריכה: מי שמתחתי צודק.
__________________
דוד בן דוד.

Last edited by DavidBD; 24-12-07 at 16:40..
  Reply With Quote
ישן 24-12-07, 16:35   # 3
Meir
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
גיל: 34
הודעות: 383

Meir לא מחובר  

הורשה:

PHP קוד:
<?php

class 
{
    function 
test()
    {
        return 
'test';
    }
}

class 
extends B
{
    function 
print_test()
    {
        echo 
$this->test();
    }
}

$a = new A();
$a->print_test();

?>
__________________
רק אחרי שנמצאים בחושך, אפשר להעריך את האור.
  Reply With Quote
ישן 24-12-07, 16:45   # 4
Ben Segal
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 195

Ben Segal לא מחובר  

ציטוט:
נכתב במקור על ידי Meir צפה בהודעה
הורשה:

PHP קוד:
<?php

class 
{
    function 
test()
    {
        return 
'test';
    }
}

class 
extends B
{
    function 
print_test()
    {
        echo 
$this->test();
    }
}

$a = new A();
$a->print_test();

?>
אני מכיר את השיטה הזאת אבל אם יש לי כמה מחלקות אני לא יכול לעשות את זה ככה.
אני רוצה לדעת איך לעשות את זה כמו שעשו בIPB, לדוגמא:
PHP קוד:
$this->ipsclass->load_template('skin_boards'); 
__________________

Last edited by Ben Segal; 24-12-07 at 16:48..
  Reply With Quote
ישן 24-12-07, 17:05   # 5
Meir
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
גיל: 34
הודעות: 383

Meir לא מחובר  

אני מניח שהם מימשו את זה כך:

PHP קוד:
<?php

class B
{
    function 
template($name)
    {
        return 
$name;
    }
}

class 
A
{
    var 
$ipsclass;

    function 
__construct()
    {
        
$this->ipsclass = new B();
    }
    
    function 
example()
    {
        return 
$this->ipsclass->template('test');
    }
}

$a = new A();
echo 
$a->ipsclass->template('skin');
echo 
$a->example();

?>
__________________
רק אחרי שנמצאים בחושך, אפשר להעריך את האור.
  Reply With Quote
ישן 24-12-07, 22:23   # 6
Ben Segal
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 195

Ben Segal לא מחובר  

עובד
תודה רבה, גרמת לי להבין כל מיני דברים שלא הבנתי בעבר, ועזרתי לי מאוד במערכת שאני בונה.
__________________
  Reply With Quote
ישן 26-12-07, 22:13   # 7
DvirCohen
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 151

DvirCohen לא מחובר  

כמו שאמרתי לך בן אבל נכתוב גם לאחרים
הפונקציות שמאיר נתן לך יפעלו רק בPHP5 (אני לא יודע לגבי אקסטנד וכו' אבל קונסטרקטור זה רק PHP5)
מה שIPB עושים זה שבכל מחלקה יש משתנה $ipsclass ואליו הם מייחסים את האובייקט $ipsclass דרך קובץ האינדקס.

PHP קוד:
// סתם קבצים לייבא ולהפעיל..
$choise = array ("boards, topics");

// $_GET['act'] = boards

include $choise[$_GET['act']].".php"// include boards.php
$class = new $choise[$_GET['act']]; // new boards

$class->ipsclass =& $ipsclass// ייחוס לאובייקט המקורי 
ככה זה יפעל בכל גירסא
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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