Per informazioni più dettagliate su questi argomenti, visita la pagina del concetto.
Il tag di apertura PHP <?php segna l'inizio del codice PHP.
Tutte le istruzioni devono terminare con un ; per separare le istruzioni.
<?php
$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]
Per facilitare la lettura, tutti gli esempi di codice omettono il tag di apertura PHP <?php.
I commenti su una sola riga iniziano con //.
// Single line comment
Con l'operatore di assegnazione =, un valore può essere assegnato a una variabile.
I nomi delle variabili devono iniziare con il simbolo del dollaro $ e seguire le convenzioni di denominazione.
$count = 1; // Assign value of 1
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
Valori e variabili possono essere passati alle funzioni.
Gli argomenti di una funzione diventano nuove variabili che contengono i valori passati.
Le funzioni possono restituire qualsiasi valore usando la parola chiave return.
function window_height($height)
{
return $height + 10;
}
window_height(100);
// => 110
Le funzioni all'interno delle classi e delle loro istanze si chiamano metodi.
Per chiamare un metodo, il nome è preceduto dall'istanza e da ->.
I metodi hanno accesso alla variabile speciale $this, che fa riferimento all'istanza corrente.
<?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
In questo esercizio scriverai un po' di codice per aiutarti a cucinare una lasagna eccezionale dal tuo libro di cucina preferito.
Hai cinque compiti, tutti legati al tempo impiegato per cucinare la lasagna.
Implementa la funzione expectedCookTime nella classe Lasagna, che non accetta argomenti e restituisce per quanti minuti la lasagna deve stare in forno.
Secondo il libro di cucina, il tempo previsto in forno è di 40 minuti:
<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40
Implementa la funzione remainingCookTime nella classe Lasagna, che prende come argomento i minuti effettivi in cui la lasagna è stata in forno e restituisce quanti minuti la lasagna deve ancora restare in forno, in base al tempo previsto in forno del compito precedente.
<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10
Implementa la funzione totalPreparationTime nella classe Lasagna, che prende come argomento il numero di strati che hai aggiunto alla lasagna e restituisce quanti minuti hai impiegato a preparare la lasagna, supponendo che ogni strato richieda 2 minuti di preparazione.
<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6
Implementa la funzione totalElapsedTime nella classe Lasagna, che prende due argomenti: il primo è il numero di strati che hai aggiunto alla lasagna, il secondo è il numero di minuti in cui la lasagna è stata in forno.
La funzione deve restituire quanti minuti in totale hai lavorato per cucinare la lasagna, cioè la somma del tempo di preparazione in minuti e del tempo in minuti che la lasagna ha passato in forno fino a quel momento.
<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26
Implementa la funzione alarm nella classe Lasagna, che non accetta argomenti e restituisce un messaggio che indica che la lasagna è pronta da mangiare.
<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
Iscriviti a Exercism per imparare e padroneggiare PHP con 11 concetti122 esercizi e il mentoring di persone reali, tutto gratis.