Access modifiers define how properties and methods of a class can be accessed. PHP supports public
, protected
, and private
access levels. Public
allows access from anywhere, protected
allows access within the class and its children, and private
restricts access to the class itself. They help ensure proper encapsulation and security in your code.
1. Types of Access Modifiers
Modifier | Access Level |
---|---|
public |
Accessible from anywhere |
protected |
Accessible inside the class and child classes |
private |
Accessible only inside the class itself |
2. Example: All Access Modifiers
class Demo {
public $pub = "Public";
protected $pro = "Protected";
private $pri = "Private";
public function show() {
echo $this->pub . "
";
echo $this->pro . "
";
echo $this->pri . "
";
}
}
$obj = new Demo();
echo $obj->pub; // ✅ Allowed
// echo $obj->pro; // ❌ Error: protected
// echo $obj->pri; // ❌ Error: private
$obj->show(); // ✅ All values printed inside class
3. Access in Inherited Class
class ParentClass {
protected $msg = "Hello from parent";
}
class ChildClass extends ParentClass {
public function display() {
echo $this->msg; // ✅ Allowed (protected)
}
}
$child = new ChildClass();
$child->display();