What is the difference between public, private, and protected?

oop, php, private, protected, public

Solution

You use:

`public` scope to make that property/method available from anywhere, other classes and instances of the object.

`private` scope when you want your property/method to be visible in its own class only.

`protected` scope when you want to make your property/method visible in all classes that extend current class including the parent class.

If you don't use any visibility modifier, the property / method will be public.

More: (For comprehensive information)

- PHP Manual - Visibility

Problem

When and why should I use `public`, `private`, and `protected` functions and variables inside a class? What is the difference between them? Examples: ``` // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { // ... } ```

Original source

Related problems