Передать класс PHP как параметр

Как передать класс в качестве параметра в моей функции

Пока что я пробовал

 $ sc = new SampleClass ();
SampleFunction ($ sc);

функция SampleFunction (& $ refClass)
{
echo $ refClass-> getValue ();
}

Это упрощенный пример того, что я делаю. Мне действительно приходится выполнять сложные процедуры внутри этой функции-примера. Я не получаю ответа от функции-образца. Что я делаю неправильно? спасибо

ОБНОВЛЕНИЕ

char.php

   class Charss {
    var $name=0;
    var $hp=500;
    var $spd=10;
    var $rtime=10;
    var $dmg=10;

    function __construct( $name, $hp, $spd, $rtime , $dmg) { 
            $this->name = $name;
            $this->hp = $hp;
            $this->spd  = $spd;
            $this->rtime = $rtime;
            $this->dmg = $dmg;
        }

    function get_name() {
        return $this->name;
    }

    function set_name($new_name) {
        $this->name = $new_name;
    }

    function get_hp() {
        return $this->hp;
    }

    function set_hp($new_hp) {
        $this->hp = $new_hp;
    }

    function get_spd() {
        return $this->spd;
    }

    function set_spd($new_spd) {
        $this->spd = $new_spd;
    }

    function get_rtime() {
        return $this->rtime;
    }

    function set_rtime($new_rtime) {
        $this->rtime = $new_rtime;
    }

    function get_dmg() {
        return $this->get_dmg;
    }

    function set_dmg($new_dmg) {
        $this->dmg = $new_dmg;
    }
}

myclass.php

    require("char.php");
class Person {

function try_process()
{
    $chr1 = new Charss("Player1",500,3,0,50);
    $chr2 = new Charss("Player2",500,6,0,70);

    while ($chr1->get_hp() > 0 && $chr2->get_hp() > 0)
    {
        $sth = min($chr1->get_rtime(), $chr2->get_rtime());
        if ($chr1->get_rtime() == 0 && $chr2->get_rtime() > 0)
        {
            exit;
            Fight($chr1,$chr2);
            $chr1->set_rtime($chr1->get_spd());
        }
        elseif ($chr2->get_rtime() == 0 && $chr1->get_rtime() > 0)
        {
            Fight($chr2,$chr1);
            $chr2->set_rtime($chr2->get_spd());
        }
        else 
        {
            Fight($chr1,$chr2); #having trouble with this
            $chr1->set_rtime($chr1->get_spd());
        }
        $chr1->set_rtime($chr1->get_rtime() - $sth);
        $chr2->set_rtime($chr2->get_rtime() - $sth);
    }
}

function Fight($atk,$def)
{
    $def->set_hp($def->get_hp() - $atk->get_dmg());
    echo $atk->get_name() . " attacked " . $def->get_name() . " for " . $atk->get_dmg() . " damage";
}

}

, поэтому я вызываю функцию try_process при нажатии кнопки

5
задан Philip Badilla 25 February 2012 в 06:55
поделиться