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
Default is public. It's a good practice to always include it, however PHP4 supported classes without access modifiers, so it's common to see no usage of them in legacy code.
And no, PHP has no package visibility, mainly because until recently PHP had no packages.
The default is public. The reason probably is backwards compatibility as old code expects it to be public (it would stop working if it weren't public).
Default visibility is PUBLIC
Source
When no visibility keyword (public
,private
or protected
) used, methods will be public. But, you cannot define properties in this way. For properties, you will need to append a visibility keyword on declaration.
For properties which is not declared in the class and you assign a value to it inside a method will have a public visibility.
<?php
class Example {
public $name;
public function __construct() {
$this -> age = 9; // age is now public
$this -> privateFunction();
}
private function privateFunction() {
$this -> country = "USA"; // this is also public
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With