Что такое public и почему не работает функция PHP?
public function __construct должен  быть определен в классе:class Person {
                public $isAlive = true;
                public $firstname;
                public $lastname;
                public $age;
            
            public function __construct($firstname, $lastname, $age) {
                $this->firstname = $firstname;
                $this->lastname = $lastname;
                $this->age = $age;
            } 
}
также у вас метод greet должен быть определен в классе,иначе не будет работать
Советую лучше прочитать книги Джорджа Шлосснейгла "Профессиональное программирование" или Мэтта Зандстры "PHP. Объекты, шаблоны и методики программирования",возможно лучше поймете,что такое ООП
class Person {
                public $isAlive = true;
                public $firstname;
                public $lastname;
                public $age;
           }
public function __construct(){} - функция за пределами класса не может быть публичной или вообще иметь какой либо модификатор доступа.
public значит что к этому методу могут обращаться все кому не попадя (echo $teacher->isAlive;). при любом другом модифиаторе доступа такой код вызовет ошибку.