PHP Object-Oriented PHP Basics (Retired) Inheritance, Interfaces, and Exceptions Final Challenge

Rifqi Fahmi
Rifqi Fahmi
23,164 Points

Help me with this quiz [6/7]

I can't pass the quiz, I have no idea what is wrong with my code

Thanks:)

fish.php
<?php

class Fish
{
    public $common_name;
    public $flavor;
    public $record_weight;

    function __construct($name, $flavor, $record){
        $this->common_name = $name;
        $this->flavor = $flavor;
        $this->record_weight = $record;
    }

    public function getInfo() {
        $output  = "The {$this->common_name} is an awesome fish. ";
        $output .= "It is very {$this->flavor} when eaten. ";
        $output .= "Currently the world record {$this->common_name} weighed {$this->record_weight}.";
        return $output;
    }
}

  class Trout extends Fish{

    public $species;
    function __construct($name, $flavor, $record, $species){
    parent::__construct($name, $flavor, $record);
      $this->species = $species;

      function getInfo(){
         return "$this->species $this->common_name tastes $this->flavor.  The record $this->species $this->common_name weighed $this->record_weight.";
      };


    }
  }

$brook_trout = new Trout('Trout', 'Delicious', '14 pounds 8 ounces', 'Brook');
$brook_trout = new getInfo();

?>

2 Answers

Roberto Alicata
PRO
Roberto Alicata
Pro Student 39,957 Points

You have to declare getInfo() outside the constructor function.

Roberto Alicata
PRO
Roberto Alicata
Pro Student 39,957 Points

.... the last line is incorrect to pass the last step.

It asked you to echo the getInfo() of $brook_trout object.

echo $brook_trout->getInfo();