Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

PHP Object-Oriented PHP Basics Understanding Classes Methods of a Class

Sam Katz
Sam Katz
2,986 Points

why is Getinfo() undefined?

In this OOP PHP code, this method is not within scope, and cannot be reached. why? It says it is undefined? getInfo

fish.php
<?php

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

}

function __construct($common_name, $flavor, $record_weight) {
$this ->$common_name;
$this ->$flavor;
$this ->$record_weight;
public function getInfo() {
  return "A ". $this->common_name . " is an ". $this->flavor . " flavored fish. The world record weight is " . $this->record_weight . ".";
    }
}

//$bass = new Fish();
//$bass->common_name = "Largemouth Bass";
//$bass->flavor = "Excellent";
//$bass->record_weight = "22 pounds 5 ounces";

$bass = new Fish("Largemouth Bass". "Excellent", "22 pounds 5 ounces");

$bass->getInfo();

?>

1 Answer

Steven Parker
Steven Parker
229,981 Points

The instructions say "Create a method on Fish named getInfo โ€ฆ", but the function above is not part of the definition of "Fish".

Also, the instructions don't ask for a "__construct" function to be created, or for a Fish to be instantiated, or for the function to be called. To avoid confusing the challenge checking system, always do only what the instructions ask for!