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 trialHarry Gils
4,322 PointsWhat am I missing in this code challenge?
I think I'm creating the getInfo() function correctly but it keeps saying it's wrong. Can someone show / explain what I'm missing here and why?
<?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;
}
function getInfo(){
return "A ". $this->$name . " is an ". $this->$flavor . "flavored fish. The world record weight is " . $this->$record . ".";
}
}
$bass = new Fish("Largemouth Bass", "Excellent", "22 pounds 5 ounces");
?>
2 Answers
Jason Anders
Treehouse Moderator 145,860 PointsHi Harry,
You are very close. You are just using the wrong variable names. $this is right, but you don't need the $ for the name, and you need to use the original variable names, not the ones pass in the argument.
function getInfo(){
return "A ".$this->common_name . " is an ".$this->flavor . "flavored fish. The world record weight is " .$this->record_weight . ".";
}
Hope that helps. Keep Coding! :)
Harry Gils
4,322 PointsThanks guys. I redid it the way you explained it Jason and it worked. Yes, I just noticed that I don't need a $ in front of the name since $this->common_name is the variable.. already a $ there.
thanks. It's making a bit of sense now.
Steven Joyner
5,337 PointsSteven Joyner
5,337 Pointstrying the exact same code, the challenge passed for me. It seems your browser just needs a good refresh.