In the code below I call a function (it happens to be a constructor) in which I have type hinting. When I run the code I get the following error:
Catchable fatal error: Argument 1 passed to Question::__construct() must be an instance of string, string given, called in run.php on line 3 and defined in question.php on line 15
From what I can tell the error is telling me that the function is expecting a string but a string was passed. Why isn't it accepting the passed string?
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;
}
}
?>