Call function in function from another class PHP

20,794

If you only need to access ClassB's method from ClassA but don't need a parent-child relationship between the two, a static method may be more appropriate:

class ClassA
{
  public function method1() {
    echo ClassB::method2();
  }
}

class ClassB
{
  public static function method2() {
    return 'WOOT!';
  }
}

$cls_a = new ClassA();
$cls_a->method1();

// or alternatively, you don't even need to instantiate ClassA
echo ClassB::method2();
Share:
20,794
Fredrik
Author by

Fredrik

Updated on December 08, 2020

Comments

  • Fredrik
    Fredrik over 3 years

    I have read a few threads about abstract class here at Stackoverflow and I think it's what I need, but I can't get the declaration straight.

    What I want to do is to call a function2 (in classB) in a function1 (in classA).

    How should I do this?

  • Adsy2010
    Adsy2010 over 10 years
    useful info. Thanks for the methods.
  • Rafael
    Rafael almost 9 years
    What if the class is in a different directory?
  • NineCattoRules
    NineCattoRules about 7 years
    from PHP 5.4 you should use (new ClassName)->method();