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 trialJuliette Tworsey
Front End Web Development Techdegree Graduate 32,425 PointsCreate a method on fish names getInfo()
Hi all! I am going through this course again as a refresher and although I got through this task the first time, I can't figure out what I'm doing wrong this time around.
What am I missing?
Thanks!
<?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(){
return "A" .$name . "is an" .$flavor . "flavored fish." ."The world record weight is" .$record".";
}
}
$bass = new Fish("Largemouth Bass", "Excellent", "22 pounds 5 ounces");
echo $bass->getinfo();
?>
2 Answers
Hanley Chan
27,771 PointsHi,
It will pass if you change your getInfo method to:
public function getInfo(){
return "A" . $this->common_name . "is an" . $this->flavor . "flavored fish." ."The world record weight is" .$this->record . ".";
}
Ted Sumner
Courses Plus Student 17,967 PointsYou may also need to add spaces after the A, before is and after an, etc. But Hanley Chan is exactly right with the variables. You definitely will not pass without his suggestion.
Juliette Tworsey
Front End Web Development Techdegree Graduate 32,425 PointsThanks Ted. It turns out that the spaces weren't needed. I tried that and it didn't pass. Hmmm...In the real world there should be always be spaces in concatenation, right?
Ted Sumner
Courses Plus Student 17,967 PointsNo, you misunderstand what I meant. As written, it would echo:
Abassis anexcellentflavored fish.The world record weight is5 pounds.
There are challenges that fail if the proper spacing within the echo is not preserved.
I recently learned you can place the whole thing in double, not single, quotes and do away with the concatenation in this example. PHP processes variables inside double quotes. Variables inside single quotes echo the variable name, not the value.
You do not have to add spaces with your concatenation.
Juliette Tworsey
Front End Web Development Techdegree Graduate 32,425 PointsJuliette Tworsey
Front End Web Development Techdegree Graduate 32,425 PointsThanks Hanley!
The only thing that was missing in your example above was the _weight.
This is what worked for me:
return "A" . $this->common_name . "is an" . $this->flavor . "flavored fish." ."The world record weight is" .$this->record_weight . ".";