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

PHP Conceptos Básicos de PHP Orientado a Objetos Construyendo la Receta Estático

Estas instrucciones son un poco confusas. ¿Alguien puede ayudar a aclarar lo que se pide aquí?

detailsRoom debe aceptar un parámetro de objeto único llamado $room. El objeto $room tendrá los siguientes métodos:

getName: devolverá una cadena

getDimensions: devolverá una matriz de números enteros de tamaño

Añade un valor de retorno al método detailsRoom que muestre "nombre Dimensions: largo x ancho", donde nombre se devuelve del método getName de la sala y largo x ancho se devuelve del método displayDimensions de renderización.

Necesitarás llamar al método estático displayDimensions desde dentro de la clase Render y pasar las dimensiones del objeto $room usando el método getDimensions

Ejemplo de salida final: Kitchen Dimensions: 12 x 14

¿Se supone que debo hacer los métodos getName y getDimensions? ¿Necesito hacer una clase room? Está redactado de forma un poco extraña, y me está costando mucho descifrar la solicitud aquí.

index.php
<?php

class Render {

  público función getDimensions()
  {
    return $self->displayDimensions;
  }

  público función getName()
  {

  }

  público estático función displayDimensions($size)
  {
    $output = implode( x , $size);
    return $output;
  }


}
?>

2 Respuestas

Jennifer Nordell
sello-máscara
PERSONAL
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Profesor de Treehouse

Hola, Chris Hummel ¡Esta parte del desafío intenta decirte que en algún lugar hay un otro archivo de clase que no puedes ver que hace un Room. El $room es una instancia de esa clase y se enviará como parámetro. Solo te pide que hagas el detailsRoom método.

Los Room clase que existe en otro lugar tiene un método llamado getName() y getDimensions. Usarás el getName() que devuelve una cadena como "Kitchen" y el getDimensions() que devuelve una matriz como [14, 12] donde los números son el largo y el ancho. Necesitarás eso para que puedas enviar esa matriz al displayDimensions método como el $size.

función estática pública detailsRoom($room) {
     devuelve $room->getName() . " Dimensions: " . self::displayDimensions($room->getDimensions());
}

Primero usamos el getName método en el Room objeto que se pasó. Luego hacemos una concatenación para la " Dimensions: " parte, y una concatenación más. Esta vez, estamos llamando al displayDimensions que es un método en la misma clase y como es estático, necesitarás usar self:: aquí. Luego pasamos las dimensiones que se devolvieron del Room del objeto getDimensions, que debe ser una matriz con dos números.

¡Espero que esto te ayude! :sparkles:

La introducción en este formulario es mucho más humana que la original. Gracias

Gracias Jennifer Nordell¡deberían haber planteado la pregunta de esa manera! Es muy vago para mí como novato. Como Jaroslav, pensé que tenía que escribir la otra clase y los objetos.

@Jennifer Nordell

"El objeto $room tendrá los siguientes métodos:" debería ser "siguientes"