Para obtener información más detallada sobre estos temas, visita la página del concepto.
La etiqueta de apertura de PHP <?php marca el inicio del código PHP.
Todas las instrucciones deben terminar con un ; para separarlas.
<?php
$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]
Para que se lean más fácilmente, todos los ejemplos de código omiten la etiqueta de apertura de PHP <?php.
Los comentarios de una sola línea empiezan por //.
// Single line comment
Con el operador de asignación =, se puede asignar un valor a una variable.
Los nombres de las variables deben empezar por el signo del dólar $ y seguir las convenciones de nomenclatura.
$count = 1; // Assign value of 1
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
Se pueden pasar valores y variables a las funciones.
Los argumentos de una función se convierten en nuevas variables que contienen los valores que se le pasan.
Las funciones pueden devolver cualquier valor usando la palabra clave return.
function window_height($height)
{
return $height + 10;
}
window_height(100);
// => 110
Las funciones que están dentro de las clases y de sus instancias se llaman métodos.
Para llamar a un método, el nombre va precedido de la instancia y ->.
Los métodos tienen acceso a la variable especial $this, que hace referencia a la instancia actual.
<?php
class Calculator {
public function sub($x, $y)
{
return $this->add($x, -$y); // Calls the method add() of the current instance
}
public function add($x, $y)
{
return $x + $y;
}
}
$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2
En este ejercicio vas a escribir algo de código para ayudarte a cocinar una lasaña estupenda de tu libro de cocina favorito.
Tienes cinco tareas, todas relacionadas con el tiempo dedicado a cocinar la lasaña.
Implementa la función expectedCookTime de la clase Lasagna, que no recibe ningún argumento y devuelve cuántos minutos debe estar la lasaña en el horno.
Según el libro de cocina, el tiempo de horneado esperado en minutos es 40:
<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40
Implementa la función remainingCookTime de la clase Lasagna, que recibe como argumento los minutos reales que la lasaña ha estado en el horno y devuelve cuántos minutos le quedan a la lasaña en el horno, según el tiempo de horneado esperado en minutos de la tarea anterior.
<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10
Implementa la función totalPreparationTime de la clase Lasagna, que recibe como argumento el número de capas que has añadido a la lasaña y devuelve cuántos minutos has tardado en preparar la lasaña, suponiendo que tardas 2 minutos en preparar cada capa.
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
Implementa la función totalElapsedTime de la clase Lasagna, que recibe dos argumentos: el primer argumento es el número de capas que has añadido a la lasaña, y el segundo argumento es el número de minutos que la lasaña ha estado en el horno.
La función debe devolver cuántos minutos en total has trabajado en cocinar la lasaña, que es la suma del tiempo de preparación en minutos y el tiempo en minutos que la lasaña ha pasado en el horno en ese momento.
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
Implementa la función alarm de la clase Lasagna, que no recibe ningún argumento y devuelve un mensaje que indica que la lasaña está lista para comer.
<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
Regístrate en Exercism para aprender y dominar PHP con 11 conceptos122 ejercicios y mentoría humana real, todo gratis.