0
0
PHPprogramming~10 mins

Properties and visibility in PHP - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Properties and visibility
Define Class with Properties
Set Property Visibility: public/private/protected
Create Object Instance
Access Properties
This flow shows how properties are defined with visibility and how they can be accessed depending on their visibility.
Execution Sample
PHP
<?php
class Car {
  public $color = 'red';
  private $speed = 0;
}
$car = new Car();
echo $car->color;
echo $car->speed; // error
?>
Defines a class with public and private properties, then accesses the public property successfully and shows private property access causes error.
Execution Table
StepActionProperty AccessResultNotes
1Create object $carN/AObject createdProperties initialized: color='red', speed=0
2Access $car->colorpublicOutputs 'red'Public property accessible from outside
3Access $car->speedprivateError: Cannot access private propertyPrivate property not accessible outside class
4EndN/AExecution stops due to errorPrivate property access blocked
💡 Execution stops at step 3 because private property access from outside the class is not allowed.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3
$car->colorundefined'red''red''red'
$car->speedundefined000
Key Moments - 2 Insights
Why does accessing $car->speed cause an error?
Because $speed is declared private, it cannot be accessed from outside the class. See execution_table step 3.
Can we access $car->color from outside the class?
Yes, because $color is declared public, it is accessible from outside. See execution_table step 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the output when accessing $car->color at step 2?
A'red'
BError
Cnull
DUndefined property
💡 Hint
Check execution_table row with Step 2 for the output of $car->color access.
At which step does the program stop due to an error?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
See execution_table exit_note and step 3 where private property access causes error.
If $speed was declared public instead of private, what would happen at step 3?
AOutput 'red'
BError
COutput '0'
DNo change
💡 Hint
Refer to variable_tracker and execution_table step 3 about property visibility effects.
Concept Snapshot
Properties in PHP classes have visibility: public, private, or protected.
Public properties can be accessed anywhere.
Private properties can only be accessed inside the class.
Protected properties can be accessed inside the class and subclasses.
Trying to access private or protected properties from outside causes errors.
Full Transcript
This example shows a PHP class Car with two properties: color (public) and speed (private). When we create an object of Car, the properties are initialized. Accessing the public property color from outside the class works and outputs 'red'. However, trying to access the private property speed from outside causes an error and stops execution. This demonstrates how property visibility controls access in PHP classes.