Classes and Objects
Class Blueprint
A class describes the shape of an object that code can create.
class definition
A class can hold a small behavior, and the main script can create an object when it needs that behavior.
Class Blueprint
class_blueprint.php
Replay: real traced execution (multi-file project)
<?php
class Greeter
{
public function message(string $name): string
{
return "Hello, " . $name;
}
}
$name = "Ada";
$message = (new Greeter())->message($name);
echo "name=" . $name . "\n";
echo "message=" . $message . "\n";
<?php
class Greeter
{
public function message(string $name): string
{
return "Hello, " . $name;
}
}
$name = "Grace";
$message = (new Greeter())->message($name);
echo "name=" . $name . "\n";
echo "message=" . $message . "\n";
<?php
class Greeter
{
public function message(string $name): string
{
return "Hello, " . $name;
}
}
$name = "Rasmus";
$message = (new Greeter())->message($name);
echo "name=" . $name . "\n";
echo "message=" . $message . "\n";
$name ← Ada
10$name→ Ada = "Ada"; //@name="Grace", "Rasmus"11$message = (new Greeter())->message($nameAda);public function message(string $name): string
3{4 public function message(string $nameAda): string5 {6 return "Hello, " . $nameAda;7 }$message ← Hello, Ada
10$name = "Ada"; //@name="Grace", "Rasmus"11$message→ Hello, Ada = (new Greeter())->message($nameAda);1213echo "name=" . $nameAda . "\n";14echo "message=" . $messageHello, Ada . "\n";outputname=Ada message=Hello, Ada
$name ← Grace
10$name→ Grace = "Grace";11$message = (new Greeter())->message($nameGrace);public function message(string $name): string
3{4 public function message(string $nameGrace): string5 {6 return "Hello, " . $nameGrace;7 }$message ← Hello, Grace
10$name = "Grace";11$message→ Hello, Grace = (new Greeter())->message($nameGrace);1213echo "name=" . $nameGrace . "\n";14echo "message=" . $messageHello, Grace . "\n";outputname=Grace message=Hello, Grace
$name ← Rasmus
10$name→ Rasmus = "Rasmus";11$message = (new Greeter())->message($nameRasmus);public function message(string $name): string
3{4 public function message(string $nameRasmus): string5 {6 return "Hello, " . $nameRasmus;7 }$message ← Hello, Rasmus
10$name = "Rasmus";11$message→ Hello, Rasmus = (new Greeter())->message($nameRasmus);1213echo "name=" . $nameRasmus . "\n";14echo "message=" . $messageHello, Rasmus . "\n";outputname=Rasmus message=Hello, Rasmus