Функция как параметр

IMW

Guest
Функция как параметр

Есть классы

PHP:
class A
{
function A1($str)
{...}

function show()
{
   $t= new B();
   $t->B1($this->A1)
 
}

}

class B
{
  function B1($A1)
   {
     $str=1;
      call_user_func($A1, $str);
   }
}
Не получается вызвать метод A1 в классе B
 

IMW

Guest
Не катит пишет:
Warning: call_user_func(Array) [function.call-user-func]: First argument is expected to be a valid callback in ....
 

svetasmirnova

маленький монстрик
А, это не статический метод. array(экземпляр класса A, $A1)
Короче, ман читай вимательно
 

IMW

Guest
Мне не нужен экземпляр класса A, у меня много таких классов A, в которых есть свой метод show(), алгоритм метода B1() подходит под все классы типа А, только нужно менять правила вывода, вот они и будут в методах show(), может тут не call_user_func() надо использовать, мне нужно что бы метод передавался как параметр. Что бы метод B1 мог вызывать метод $show() c любых классов.
 

crocodile2u

http://vbolshov.org.ru
IMW
Короче, ман читай вимательно
(c) svetasmirnova

Ключевое слово - внимательно. Добавлю от себя - почитай о статических методах, и чем они отличаются от нестатических.
 

IMW

Guest
на самом деле все очень просто
PHP:
class A 
{ 
function A1($str) 
{...} 

function show() 
{ 
   $t= new B(); 
   $t->B1($this) 

} 

} 

class B 
{ 
  function B1($obj) 
   { 
     $str=1; 
      $obj->$A1($str); 
   } 
}
-~{}~ 27.09.05 18:22:

Я немного неправильно написал у меня метод A1 менятся будет
 
Сверху