Хочу выводить результат с использованием конструктора в классе. Вроде делаю как в примерах. Но выходит ошибка "Parse error: in C:\OpenServer123\OpenServer\domains\test\index.php on line 19"
19 строка = $this->OneNumber = $One;
<html>
<head>
<title> Шеснадцатиричные числа </title>
<style>
.st{
outline: 2px solid #000;
}
</style>
<!-- Реализация класса -->
<? class Construction{
protected $OneNumber;
protected $TwoNumber;
protected $ZnakNumber;
protected function __construct($One,$Two,$Znak)
{
$this->OneNumber = $One;
$this->TwoNumber = $Two;
$this->ZnakNumber = $Znak;
}
public function dec($h) {
$s = array(1=>1, 2=>2, 3=>3, 4=>4, 5=>5, 6=>6, 7=>7, 8=>8, 9=>9,'a'=>10, 'b'=>11, 'c'=>12, 'd'=>13, 'e'=>14, 'f'=>15, 16=>16 );
return $h ? 16*$this->dec(substr($h, 0, -1)) + $s[substr($h, -1)] : 0;}
public function hex($d) {
$s = array(1=>1, 2=>2, 3=>3, 4=>4, 5=>5, 6=>6, 7=>7, 8=>8, 9=>9, 10=>'a', 11=>'b', 12=>'c', 13=>'d', 14=>'e', 15=>'f', 16=>16);
return $d ? $this->hex(floor($d/16)).$s[$d%16] : '';}
public function itog($OneNumber, $TwoNumber, $Znak){
//атрибуты
$One = $this->dec($OneNumber);
$Two = $this->dec($TwoNumber);
switch($Znak){
case '-': $result = $One - $Two; break;
case '+': $result = $One + $Two; break;
};
$finalResult = $this->hex($result);
return $finalResult;
}
//Метод вывода информации в браузер
public function printResult()
{
$result = 0;
$OneNumber = $this->OneNumber;
$TwoNumber = $this->TwoNumber;
$ZnakNumber = $this->ZnakNumber;
if($ZnakNumber=='-'){$result = $OneNumber - $TwoNumber; }
if($ZnakNumber=='+'){$result = $OneNumber + $TwoNumber; }
echo $result;
}
}
// Реализация класса наследника
class NewConstruction extends Construction{
}
?>
</head>
<body bgcolor="gray">
<form method="get" action="#" align="center" style="margin-top:10%;">
<input type="text" class="st" placeholder="Введите число" name="onenumber">
<select size="1" name="znak" class="st">
<option>+</option>
<option>-</option>
</select>
<input type="text" class="st" placeholder="Введите число" name="twonumber">
=
<br>
Первый вариант вывода строки(Результат):
<?
$Constr = new Construction;
$Constr->itog($one, $two,$zn);
?>
<br>
Второй вариант вывода строки(Результат):
<?
$Constr = new Construction($one,$two,$zn);
$Constr->printResult();
?>
<br>
Третий вариант вывода(Результат):
<?
$ConstrNew = new NewConstruction;
$ConstrNew->itog($one, $two,$zn);
?>
<p><input type="submit" value="Отправить"></p>
</form>
</body>
</html>