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();



