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 sentencias deben terminar con un ; para separar las instrucciones.
<?php
$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]
Para facilitar la lectura, todos los ejemplos de código omiten la etiqueta de apertura de PHP <?php.
Los comentarios de una línea empiezan con //.
// Single line comment
Con el operador de asignación =, puedes asignar un valor a una variable.
Los nombres de las variables deben empezar con el signo de 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!";
Puedes pasar valores y variables a las funciones.
Los argumentos de la función se convierten en nuevas variables que contienen los valores que se 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 sus instancias se llaman métodos.
Para llamar a un método, el nombre va precedido por 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 buenísima de tu libro de cocina favorito.
Tienes cinco tareas, todas relacionadas con el tiempo que dedicas a cocinar la lasaña.
Implementa la función expectedCookTime en 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 en 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ún por estar 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 en la clase Lasagna que recibe como argumento el número de capas que agregaste a la lasaña y devuelve cuántos minutos dedicaste a preparar la lasaña, suponiendo que cada capa te toma 2 minutos de preparación.
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
Implementa la función totalElapsedTime en la clase Lasagna que recibe dos argumentos: el primer argumento es el número de capas que agregaste 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 cocinando 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 hasta el momento.
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
Implementa la función alarm en 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.