Bird
Raised Fist0
PHPprogramming~5 mins

Properties and visibility in PHP - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are the three visibility keywords for properties in PHP classes?
The three visibility keywords are <strong>public</strong>, <strong>protected</strong>, and <strong>private</strong>. They control access to class properties.
Click to reveal answer
beginner
What does a public property mean in PHP?
A public property can be accessed from anywhere: inside the class, in child classes, and from outside the class.
Click to reveal answer
intermediate
Explain the difference between protected and private properties.
<code>Protected</code> properties can be accessed inside the class and by child classes. <code>Private</code> properties can only be accessed inside the class where they are declared.
Click to reveal answer
beginner
How do you declare a private property named $age in a PHP class?
You declare it like this:
private $age;
Click to reveal answer
intermediate
Why is property visibility important in object-oriented programming?
Visibility controls how properties can be accessed, helping to protect data and enforce encapsulation. It prevents unwanted changes from outside the class.
Click to reveal answer
Which visibility keyword allows a property to be accessed only within the class it is declared?
Apublic
Bprivate
Cprotected
Dstatic
If a property is declared as protected, where can it be accessed?
AInside the class and child classes
BOnly inside the class
CAnywhere, including outside the class
DOnly outside the class
What happens if you try to access a private property from outside its class?
AIt causes a fatal error
BIt works normally
CIt returns null
DIt triggers a warning but continues
Which keyword would you use to allow a property to be accessed from anywhere?
Aprivate
Bprotected
Cfinal
Dpublic
Why might you choose private over public for a property?
ATo allow easy access from outside
BTo make the property static
CTo protect the property from unwanted changes
DTo allow access only in child classes
Describe the three types of property visibility in PHP and give an example of when you might use each.
Think about who should be allowed to see or change the property.
You got /4 concepts.
    Explain why controlling property visibility is important for maintaining good code structure in PHP classes.
    Consider how visibility helps keep code safe and organized.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which visibility keyword allows a property to be accessed from anywhere, including outside the class?
      easy
      A. private
      B. public
      C. protected
      D. static

      Solution

      1. Step 1: Understand visibility keywords

        Public properties can be accessed from anywhere, protected only within the class and subclasses, private only inside the class.
      2. Step 2: Identify which keyword allows outside access

        Only public allows access from outside the class.
      3. Final Answer:

        public -> Option B
      4. Quick Check:

        public = accessible everywhere [OK]
      Hint: Public means accessible everywhere, no restrictions [OK]
      Common Mistakes:
      • Confusing protected with public
      • Thinking private allows outside access
      • Mixing static with visibility
      2. Which of the following is the correct way to declare a private property named $name in a PHP class?
      easy
      A. private $name;
      B. var $name;
      C. public $name;
      D. protected $name;

      Solution

      1. Step 1: Recall PHP property declaration syntax

        Properties are declared with visibility keyword followed by variable name and semicolon.
      2. Step 2: Identify private property syntax

        Correct syntax is private $name;. The var keyword is outdated and defaults to public.
      3. Final Answer:

        private $name; -> Option A
      4. Quick Check:

        private property declaration uses 'private' keyword [OK]
      Hint: Use 'private' keyword before $property for private visibility [OK]
      Common Mistakes:
      • Using 'var' instead of visibility keywords
      • Omitting the $ sign
      • Using public or protected instead of private
      3. What will be the output of this PHP code?
      class Car {
        private $color = 'red';
        public function getColor() {
          return $this->color;
        }
      }
      $car = new Car();
      echo $car->getColor();
      medium
      A. Empty string
      B. Error: Cannot access private property
      C. null
      D. red

      Solution

      1. Step 1: Understand private property access

        The property $color is private, so it cannot be accessed directly outside the class.
      2. Step 2: Check method usage to access private property

        The public method getColor() returns the private property value, so calling it outputs 'red'.
      3. Final Answer:

        red -> Option D
      4. Quick Check:

        Private property accessed via public method = 'red' [OK]
      Hint: Use public methods to access private properties safely [OK]
      Common Mistakes:
      • Trying to access private property directly
      • Expecting an error when using a getter method
      • Confusing null with private property value
      4. Identify the error in this PHP class code:
      class Person {
        protected $age;
        public function setAge($age) {
          $this->age = $age;
        }
      }
      $person = new Person();
      echo $person->age;
      medium
      A. Method setAge should be private
      B. Missing semicolon after property declaration
      C. Cannot access protected property directly outside class
      D. Class name should be lowercase

      Solution

      1. Step 1: Understand protected property visibility

        Protected properties cannot be accessed directly from outside the class or its subclasses.
      2. Step 2: Analyze code usage of protected property

        The code tries to echo $person->age directly, which causes an error due to protected visibility.
      3. Final Answer:

        Cannot access protected property directly outside class -> Option C
      4. Quick Check:

        Protected = no direct outside access [OK]
      Hint: Protected properties need methods for outside access [OK]
      Common Mistakes:
      • Trying to access protected property directly
      • Confusing protected with public
      • Ignoring visibility rules
      5. Given this PHP class, what is the best way to safely update the private property $score only if the new score is higher?
      class Game {
        private $score = 0;
        public function updateScore(int $newScore) {
          // What code should go here?
        }
        public function getScore() {
          return $this->score;
        }
      }
      hard
      A. if ($newScore > $this->score) { $this->score = $newScore; }
      B. $this->score = $newScore;
      C. return $newScore > $this->score;
      D. if ($newScore < $this->score) { $this->score = $newScore; }

      Solution

      1. Step 1: Understand the requirement to update only if new score is higher

        The property $score should change only when $newScore is greater than current $score.
      2. Step 2: Choose the correct conditional update code

        if ($newScore > $this->score) { $this->score = $newScore; } checks if $newScore is greater, then updates $score. Other options either overwrite unconditionally or do wrong comparison.
      3. Final Answer:

        if ($newScore > $this->score) { $this->score = $newScore; } -> Option A
      4. Quick Check:

        Update only if newScore > current score [OK]
      Hint: Use if condition to update private property safely [OK]
      Common Mistakes:
      • Updating score without condition
      • Using wrong comparison operator
      • Returning boolean instead of updating property
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard