Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > Использование класса в классе


Автор: Heo 30.5.2007, 11:21
Код

class Test
{
    function print()
    {
        echo 'This is a test!';
    }
}

class Test2
{
    function printme()
    {
        $this->Test->print();
    }
}


Как можно добиться такого способа манипуляции классов?

Спасибо.

Автор: teroni 30.5.2007, 13:23
А наследование разрешается?
Если да - то так:
Код

class Test
{
    function print1()
    {
        echo 'This is a test!';
    }
}

class Test2 extends Test
{
    function printme()
    {
        $this->print1();
    }
}

З.Ы. И не используйте print() для названия методов класса smile

Автор: vasac 30.5.2007, 21:29
Грамотно поставленная задача, так же, как четко сформулированный вопрос помогает сэкономить очень много времени.

Автор: nIxOiD 31.5.2007, 11:34
Код

class Test
{
    static public function print_str()
    {
        echo 'This is a test!';
    }
}

class Test2
{
    static public function printme()
    {
        Test::print_str();
    }
}

Test2::printme();


В случае нестатических функций нужно создать и хранить объект класса Test в классе Test2

Автор: Rock 5.6.2007, 15:38
Цитата(nIxOiD @  31.5.2007,  11:34 Найти цитируемый пост)
нестатических функций 

методов...

Цитата(nIxOiD @  31.5.2007,  11:34 Найти цитируемый пост)
нужно создать и хранить объект класса Test в классе Test2 


Код

class Test {
    function print_str() {
        echo 'This is a test!';
    }
}
class Test2 {
    var $Test = null;
    function Test2() {
        $this->Test = new Test();
    }
    function printme() {
        $this->Test->print();
    }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)