πŸŽ‰ New: Top 75 PHP Interview Questions for 2026 β€” Free for all learners

Access Modifiers – PHP OOP

P
php Guru
Β· February 13, 2023 Β· 4 min read Β· Updated February 13, 2023
PHP access modifiers, public private protected PHP, PHP OOP tutorial, PHP visibility modifiers, access control in PHP classes, PHP encapsulation, PHP OOP examples, PHP protected method, PHP private property, object-oriented PHP guide

πŸ“Œ Key Takeaways

  • Access Modifiers – PHP OOP
  • Access Modifiers – PHP OOP (Complete SEO
  • What Are Access Modifiers in PHP?
  • Difference Between Public, Private, and Protected in PHP OOP
  • Understanding Public Access Modifier in PHP With Example and Output
  • Understanding Private Access Modifier in PHP With Example and Output
Advertisement

Access Modifiers – PHP OOP (Complete SEO-Optimized Guide)

Access modifiers are one of the most important features of Object-Oriented Programming in PHP. They control how properties and methods of a class can be accessed. In PHP, access modifiers help you protect your data, control object behavior, and write secure, maintainable code.

In this complete guide, we explain everything about public, private, and protected access modifiers with examples, outputs, best practices, and real-world use cases.


What Are Access Modifiers in PHP?

Access modifiers are keywords used to define the visibility of class properties and methods.
They determine where and how those members can be accessed:

  • Inside the class
  • Outside the class
  • In inherited (child) classes

PHP provides three access modifiers:

  1. public
  2. private
  3. protected

These modifiers are essential for encapsulation, one of the core OOP principles.


Difference Between Public, Private, and Protected in PHP OOP

ModifierAccessible Inside ClassAccessible Outside ClassAccessible in Child Class
publicYesYesYes
privateYesNoNo
protectedYesNoYes
PHP access modifiers, public private protected PHP, PHP OOP tutorial, PHP visibility modifiers, access control in PHP classes, PHP encapsulation, PHP OOP examples, PHP protected method, PHP private property, object-oriented PHP guide

Understanding Public Access Modifier in PHP With Example and Output

A public property or method can be accessed from anywhere.

Example:

class User {
    public $name = "John";

    public function showName() {
        return $this->name;
    }
}

$obj = new User();
echo $obj->name;
echo "<br>";
echo $obj->showName();

Output:

John
John

Public visibility is used when you want full access to a property or method.


Understanding Private Access Modifier in PHP With Example and Output

A private property or method is accessible only inside the same class.

Example:

class User {
    private $password = "12345";

    private function showPassword() {
        return $this->password;
    }

    public function accessPassword() {
        return $this->showPassword();
    }
}

$user = new User();
echo $user->accessPassword();

Output:

12345

Trying to access $user->password or $user->showPassword() outside the class will produce an error.


Understanding Protected Access Modifier in PHP With Example and Output

A protected property or method is accessible:

  • Inside the class
  • Inside child classes
  • Not outside the class or object

Example:

class ParentClass {
    protected $message = "Hello from Parent";

    protected function displayMessage() {
        return $this->message;
    }
}

class ChildClass extends ParentClass {
    public function getMessage() {
        return $this->displayMessage();
    }
}

$child = new ChildClass();
echo $child->getMessage();

Output:

Hello from Parent

Real-World Example of Access Modifiers in PHP OOP (Practical Use Case)

Using access modifiers to protect user data in a banking system:

class BankAccount {
    private $balance = 0;

    public function deposit($amount) {
        $this->balance += $amount;
    }

    private function getBalancePrivately() {
        return $this->balance;
    }

    public function showBalance() {
        return "Current Balance: " . $this->getBalancePrivately();
    }
}

$acc = new BankAccount();
$acc->deposit(1000);
echo $acc->showBalance();

Output:

Current Balance: 1000

Private access prevents unauthorized balance modifications.


Why Access Modifiers Matter in PHP OOP

Using access modifiers provides:

  • Data protection
  • Cleaner code structure
  • Controlled access to object data
  • Prevention of accidental modifications
  • Better security in applications
  • Improved maintainability

They are essential for building secure enterprise-level PHP applications.


Access Modifiers and Encapsulation in PHP OOP (High SEO Long-Tail Keyword)

Encapsulation means hiding internal class details and exposing only necessary methods.
Access modifiers implement encapsulation by restricting access.

Example:

class Student {
    private $marks;

    public function setMarks($m) {
        if ($m >= 0 && $m <= 100) {
            $this->marks = $m;
        }
    }

    public function getMarks() {
        return $this->marks;
    }
}

$obj = new Student();
$obj->setMarks(85);
echo $obj->getMarks();

Output:

85

The marks value is protected from invalid input.


Best Practices for Using Access Modifiers in PHP

  • Use private for sensitive data (passwords, credentials, balance).
  • Use protected when designing inheritance-based systems.
  • Use public only for methods that must be accessed freely.
  • Avoid making everything public; it breaks encapsulation.
  • Always use getter and setter methods for private properties.
  • Use meaningful method names to expose behavior securely.

Frequently Asked Questions (FAQ)

1. What are the three access modifiers in PHP?

Public, Private, and Protected.

2. Which access modifier should I use for sensitive data?

Use private.

3. Can a protected method be accessed in a child class?

Yes, protected members are accessible in inherited classes.

4. Can I access private methods outside the class?

No, private visibility restricts access to within the class only.

5. What happens if I don’t mention any access modifier?

PHP treats it as public by default (not recommended).

6. Why are access modifiers important?

They protect data and enforce secure coding practices.

7. Can we override private properties in child classes?

Private properties are not inherited, so they CANNOT be overridden.

P
php Guru
← Previous Post
Constructor / Destructor - PHP OOP
Next Post β†’
Class Constants - PHP OOP

Leave a Reply

Your email address will not be published. Required fields are marked *

Prove your humanity: 10   +   1   =