I did an exercise in codeacademy related to objects in PHP. It asked me to define a public variable $name in class Cat:
<?php
class Cat {
public $isAlive = true;
public $numLegs = 4;
public $name;
public function __construct( $name ) {
$this->name = $name;
}
public function meow() {
return "Meow meow. " . $this->name . "<br>";
}
}
$cat1 = new Cat( "CodeCat" );
echo $cat1->meow();
?>
Is this public $name; line actually needed? As I understand this, I call special function __construct with an argument value CodeCat. Then this CodeCat is assigned to variable $this->name and that's what I use later in function meow. If I comment out the public $name; line, then this does not affect the result.