3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* Challenge 2: Implement AnswerInterface and get Question to echo "4". */ class Question { public function __construct(AnswerInterface $answer) { echo "What is 2 + 2?\n"; $answer = $answer->get()->the()->answer(); if ($answer instanceof AnswerInterface) { echo $answer . PHP_EOL; } } } interface AnswerInterface { public function get(); public function the(); public function answer(); } // start editing here class Answer { public function get() { return new Answer;} public function the() { return new Answer;} public function answer() { return 4;} } // end editing here $answer = new Answer; $question = new Question($answer);
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught TypeError: Question::__construct(): Argument #1 ($answer) must be of type AnswerInterface, Answer given, called in /in/kDihG on line 39 and defined in /in/kDihG:9 Stack trace: #0 /in/kDihG(39): Question->__construct(Object(Answer)) #1 {main} thrown in /in/kDihG on line 9
Process exited with code 255.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
52.23 ms | 401 KiB | 8 Q