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

Keegan Kemp
Keegan Kemp
1,986 Points

One of my getters won't print when I return this method:

I am working on Object-Oriented PHP Basics and I don't know why one of my getters is not printing when I return the method, because the other ones work fine.

<?php

class Render
{
   public static function displayRecipe($recipe)
  {
     $output = "";
     $output .= $recipe->getTitle() . " by " . $recipe->getSource();
     $output .= "\n";
     $output .= implode(", ",$recipe->getTags());
     $output .= "\n";
     foreach ($recipe->getIngredients() as $ing){
        $output .= $ing["amount"] . " " . $ing["measure"] . " " . $ing["item"];
        $output .= "\n";     

}
     $output .= "\n";
     $output .= implode("\n", $recipe->getInstructions());
     $output .= $recipe->getYield();

     return $output;
  } 
}

Here is a link to my workspace snapshot: https://w.trhou.se/c9hsuj7vvr

Thank you very much for your help.

2 Answers

Steven Parker
Steven Parker
229,785 Points

I don't think there's a problem with the code shown above, but luckily everything is in the snapshot.

You forgot to mention which "one of" you were having trouble with, but on first glance it looks like on line 57 of recipes.php, addInstruction loads a string into "instruction" (singular), but on line 64 getInstructions returns "instructions" (plural).

Does fixing that clear up the issue?

Keegan Kemp
Keegan Kemp
1,986 Points

I thought that might be the issue at first, but the addIngredient method is formatted that same way and works fine. And that is the way it is done in the video as well.

Steven Parker
Steven Parker
229,785 Points

You didn't link this question to the course page, so I couldn't check the video. But in your snapshot, the getter/setter for ingredients both use the same variable name spelling. Lines 42 and 51 both have $this->ingredients (plural).

To make instructions work the same, line 57 needs the letter "s" added to the variable name to make it match line 51.

Keegan Kemp
Keegan Kemp
1,986 Points

That worked, thank you!