A) Вы не компилируете PHP
B) $message
это не переменная экземпляра, это параметр:
function __construct($message){
echo $message;
}
Способ, которым вы вводите вызовы ваших методов PHP в HTML:
<form method="post" action="<?php echo $con->getName(); ?>">
Ваш комментарий //protected $message = "Hello World"
находится на правильном пути. Примерно так было бы идеально:
class Contact {
protected $message = "Hello World";
function __construct($message = null){
$this->setMessage($message);
}
public function getMessage(){
return $this->message;
}
public function setMessage($message = null){
if($message !== null){
$this->message = $message;
}
}
}
Используется так:
$con = new Contact();
$con->getMessage(); // "Hello World;
$con->setMessage("Goodbye World");
$con->getMessage(); // "Goodbye World"
$con2 = new Contact("Goodbye World");
$con2->getMessage(); // "Goodbye World"