Описание функции класса вне класса.

ztalker

Новичок
Описание функции класса вне класса.

Доброе время суток.
Стоит задача описать класс, но одну функцию описать вне класса:
PHP:
class A
{
     var $a;
     var $b;

     function show ()
     {
          echo $a . $b;
          $this->pro_func();
     }

     function pro_func() {}
}
а функция pro_func() должна описываться вне класса, возможно ли это ?
Хотелось бы упростить скрипты, этот класс будет использоваться очень часто, и только одна функция везде разная, а вариант с описанием класса потомка из-за одной функции очень громоздкий. На C++ это делается элементарно, но вот в PHP я что-то попал в ступор.

Если делать следующим образом:
PHP:
class A
{
     var $a;
     var $b;

     function show ()
     {
          echo $a . $b;
          $pro_func = 'pro_func';   /* заношу имя функции в переменную */
          $pro_func();              /* выполнение функции с именем хранящемся в переменной */
     }
}

function pro_func ()
{
     /* $a и $b класса A здесь не видны */
}
в этом случае в функции pro_func() я не вижу ни переменных, ни методов класса :(, а мне надо и то и другое использовать в этой функции.
 

Wicked

Новичок
1) действительно, почему громоздко то? :) имхо так будет на порядок правильнее.
2) смысл echo $a . $b; мне не понятен. У тебя это переменные или свойства класса?
3) может $a и $b стоит передавать в функцию? например так:
PHP:
class A 
{ 
     var $a; 
     var $b; 

     function show () 
     { 
          $pro_func = 'pro_func'; /* заношу имя функции в переменную */ 
          $pro_func(&$this); /* выполнение функции с именем хранящемся в переменной */ 
     } 
} 

function pro_func (&$obj) 
{ 
     /* $obj->a и $obj->b класса A здесь видны */ 
}
 

ztalker

Новичок
Wicked
1) В ООП так и так должно быть правильно, смотря какая цель.
2) echo ради примера, что в функции содержаться еще операции. Я же привел лишь пример класса.
3) Вполне логичное решение. :) Спасибо.
 
Сверху