В приведенном ниже коде я вызываю функцию (это бывает конструктор), в которой у меня есть подсказка типа. Когда я запускаю код, я получаю следующую ошибку:
Исправляемая фатальная ошибка : Аргумент 1, переданный в Question :: __ construct () должен быть экземпляром строки, заданной строки, вызванной в run.php в строке 3 и определенной в question.php на линии 15
Из того, что я могу сказать, ошибка говорит мне, что функция ожидает строку, но строка была передана. Почему он не принимает переданную строку?
run.php
<?php
require 'question.php';
$question = new Question("An Answer");
?>
question.php
<?php
class Question
{
/**
* The answer to the question.
* @access private
* @var string
*/
private $theAnswer;
/**
* Creates a new question with the specified answer.
* @param string $anAnswer the answer to the question
*/
function __construct(string $anAnswer)
{
$this->theAnswer = $anAnswer;
}
}
?>