Access function in class php

I have a class like:

class bla_bla extends WP_Widget {

  function boo(){
    return 'something';
  }

  ...
}

(it's a WordPress widget)

How can I access the boo() function from outside the class? I want to assign the value returned by that function to a variable, like $var = boo();

asked Nov 18, 2010 at 15:13

1

You can either access it directly or by instantiating the class:

$blah = new bla_bla();
$var = $blah->boo();

or

$var = bla_bla::boo();

answered Nov 18, 2010 at 15:17

RDLRDL

7,7973 gold badges28 silver badges31 bronze badges

0

You must have an instance of that class to call it, for example:

$widget = new bla_bla();
$var = $widget->boo();

Otherwise, you can add the "static" keyword to the boo() function, and you could call it like $var = WP_Widget::boo(); but this changes the semantics and could break code.

answered Nov 18, 2010 at 15:16

PalantirPalantir

23.4k9 gold badges75 silver badges85 bronze badges

0

First you need an instance of the class. Then you call the method (if it's public). You should read some OOP tutorials as this is really basic stuff. See Object Oriented PHP for Beginners.

$bla = new bla_bla();
$var = $bla->boo();

answered Nov 18, 2010 at 15:16

Access function in class php

AlexVAlexV

22.2k16 gold badges86 silver badges119 bronze badges

Short writing style:

$bla = (new bla_bla)->boo();

answered Jul 9, 2020 at 6:57

Access function in class php

$bla = new bla_bla();
$var = $bla->boo();

answered Nov 18, 2010 at 15:15

enobrevenobrev

22k7 gold badges43 silver badges53 bronze badges

1

$bla = new bla_bla(); $newbla = $bla->boo();

answered Jun 2 at 22:12

Access function in class php

1


PHP - Access Modifiers

Properties and methods can have access modifiers which control where they can be accessed.

There are three access modifiers:

  • public - the property or method can be accessed from everywhere. This is default
  • protected - the property or method can be accessed within the class and by classes derived from that class
  • private - the property or method can ONLY be accessed within the class

In the following example we have added three different access modifiers to three properties (name, color, and weight). Here, if you try to set the name property it will work fine (because the name property is public, and can be accessed from everywhere). However, if you try to set the color or weight property it will result in a fatal error (because the color and weight property are protected and private):

Example

class Fruit {
  public $name;
  protected $color;
  private $weight;
}

$mango = new Fruit();
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?>

In the next example we have added access modifiers to two functions. Here, if you try to call the set_color() or the set_weight() function it will result in a fatal error (because the two functions are considered protected and private), even if all the properties are public:

Example

class Fruit {
  public $name;
  public $color;
  public $weight;

  function set_name($n) {  // a public function (default)
    $this->name = $n;
  }
  protected function set_color($n) { // a protected function
    $this->color = $n;
  }
  private function set_weight($n) { // a private function
    $this->weight = $n;
  }
}

$mango = new Fruit();
$mango->set_name('Mango'); // OK
$mango->set_color('Yellow'); // ERROR
$mango->set_weight('300'); // ERROR
?>



How can I access a function inside a class in PHP?

You need to call newTest to make the functions declared inside that method “visible” (see Functions within functions). But that are then just normal functions and no methods. Show activity on this post.

How can I access a method from another class in PHP?

php call method from another class.
$classA = new ClassA();.
$name = $classA->getName();.
echo $name; //Prints John..

Can you call a function within a class?

To call a function within class with Python, we call the function with self before it. We call the distToPoint instance method within the Coordinates class by calling self. distToPoint . self is variable storing the current Coordinates class instance.

How can I access private function in PHP?

php //Accessing private method in php with parameter class Foo { private function validateCardNumber($number) { echo $number; } } $method = new ReflectionMethod('Foo', 'validateCardNumber'); $method->setAccessible(true); echo $method->invoke(new Foo(), '1234-1234-1234'); ?>