Default visibility of class methods in PHP

Yada picture Yada · Feb 8, 2010 · Viewed 32.5k times · Source

I looked at the manual, but I can't seem to find the answer.

What is the default visibility in PHP for methods without a visibility declaration? Does PHP have a package visibility like in Java?

For example, in the following code, is go() public or private?

class test {
  function go() {
  }
}

The reason I asked is that I've seen many constructors code written as function __construct() and some as public function __construct(). Are they equivalent?

Answer

Jansen Price picture Jansen Price · Feb 8, 2010

Default is public.

Class methods may be defined as public, private, or protected. Methods declared without any explicit visibility keyword are defined as public.

http://www.php.net/manual/en/language.oop5.visibility.php