Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Roger Dailey
14,887 Puntos¡Completamente Perdido!
He hecho todo exactamente como lo hizo ella en el video y sigo recibiendo un error fatal cuando intento ejecutar cookbook.php en la consola:
treehouse:~/workspace$ php cookbook.php
0 /home/treehouse/workspace/cookbook.php(26): RecipeCollection->getRecipeTit
les()
1 {main}
thrown in /home/treehouse/workspace/classes/recipecollection.php on line 41
0 /home/treehouse/workspace/cookbook.php(26): RecipeCollection->getRecipeTit
les()
1 {main}
thrown in /home/treehouse/workspace/classes/recipecollection.php on line 41
cookbook.php
<?php
línea include classes/recipes.php;
línea include classes/render.php;
línea include classes/recipecollection.php;
línea include inc/allrecipes.php;
$cookbook = new RecipeCollection(Treehouse Recipes);
$cookbook->addRecipe("$lemon_chicken");
$cookbook->addRecipe("$granola_muffins");
$cookbook->addRecipe("$belgian_waffles");
$cookbook->addRecipe("$pepper_casserole");
$cookbook->addRecipe("$lasagna");
$cookbook->addRecipe("$dried_mushroom_ragout");
$cookbook->addRecipe("$rabbit_catalan");
$cookbook->addRecipe("$grilled_salmon_with_fennel");
$cookbook->addRecipe("$pistachio_duck");
$cookbook->addRecipe("$chili_pork");
$cookbook->addRecipe("$crab_cakes");
$cookbook->addRecipe("$beef_medallions");
$cookbook->addRecipe("$silver_dollar_cakes");
$cookbook->addRecipe("$french_toast");
$cookbook->addRecipe("$corn_beef_hash");
$cookbook->addRecipe("$granola");
$cookbook->addRecipe("$spicy_omelette");
$cookbook->addRecipe("$scones");
eco Render::listRecipes($cookbook->getRecipeTitles());
recipecollection.php
<?php
class RecipeCollection
{
private $título;
private $recetas = de caracteres. Lo último es el tipo de cosa que devuelve el método "toCharArray()".();
público función __construct($título = NULL)
{
$this->setTitle($título);
}
público función setTitle($título)
{
if (empty($título)) {
$this->title = NULL;
} else {
$this->title = ucwords($título);
}
}
público función obtenerTítulo()
{
return $this->title;
}
público función addRecipe($recipe)
{
$this->recetas = $recipe;
}
público función obtenerRecetas()
{
return $this->recetas;
}
público función getRecipeTitles()
{
$títulos = de caracteres. Lo último es el tipo de cosa que devuelve el método "toCharArray()".();
foreach ($this->recetas como $recipe) {
$títulos = $recipe->obtenerTítulo();
}
return $títulos;
}
}
1 Respuesta
Brent McCoy
Estudiante de Cursos Plus 31,764 PuntosA juzgar por el código que has publicado, estás pasando un literal de cadena como argumento para cada llamada de función addRecipe donde debería ser una referencia al objeto variable, es decir, addRecipe("$lemon_chicken") -> debería ser addRecipe($lemon_chicken), de lo contrario el argumento que se está pasando es literalmente una cadena que dice "$lemon_chicken" en lugar del valor almacenado en el objeto $lemon_chicken
Roger Dailey
14,887 PuntosRoger Dailey
14,887 Puntos¡¡¡Dios mío! No puedo creer que no lo haya notado. Volví atrás y reescribí todos los métodos y aún no funcionó. Ahora que lo señalaste me siento como un idiota. Muchas gracias.