A public property can be read and changed directly by code that has the object.

Public Property

public_property.php
<?php
class Badge
{
    public string $name = "guest";
}

$name = ;
$badge = new Badge();
$badge->name = $name;
$label = "badge:" . $badge->name;

echo "name=" . $badge->name . "\n";
echo "label=" . $label . "\n";
<?php
class Badge
{
    public string $name = "guest";
}

$name = ;
$badge = new Badge();
$badge->name = $name;
$label = "badge:" . $badge->name;

echo "name=" . $badge->name . "\n";
echo "label=" . $label . "\n";
<?php
class Badge
{
    public string $name = "guest";
}

$name = ;
$badge = new Badge();
$badge->name = $name;
$label = "badge:" . $badge->name;

echo "name=" . $badge->name . "\n";
echo "label=" . $label . "\n";
direct access Public properties are simple, but every caller can change them.