PHP è un linguaggio interpretato: esegue direttamente il codice che scrivi.
I file di codice PHP sono file di testo che contengono un tag di apertura PHP <?php per indicare l'inizio del codice PHP.
Se il file contiene solo codice PHP, è possibile omettere il tag di chiusura ?> che indica la fine del codice PHP.
Consulta la documentazione sul tag PHP per saperne di più sul tag PHP.
<?php
// All PHP code goes here
// No closing tag required at the end
Per una lettura più agevole, tutti gli esempi di codice omettono il tag di apertura PHP <?php.
Ma è presente in tutti gli esercizi PHP, quindi non devi aggiungerlo tu stesso.
Tutte le istruzioni, come le assegnazioni o le chiamate di funzione, devono terminare con un ; per la separazione delle istruzioni.
Omettere ; (come in JavaScript) non è consentito e provoca errori di sintassi.
Scopri di più sulla separazione delle istruzioni nella documentazione PHP.
$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]
PHP è un linguaggio di programmazione a tipizzazione dinamica.
I tipi dei valori vengono controllati solo mentre il programma è in esecuzione.
Usando l'operatore di assegnazione =, qualsiasi tipo di valore può essere assegnato a qualsiasi nome di variabile.
I nomi delle variabili devono iniziare con il simbolo del dollaro $.
Per approfondire le variabili, consulta la documentazione sulle variabili PHP.
$count = 1; // Assign an integer value of 1
$count = 2; // Re-assign a new value to the variable
$count = false; // You may assign any value type
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
I valori letterali e i valori memorizzati nelle variabili possono essere passati alle funzioni. Quando si definiscono gli argomenti di una funzione, vengono create nuove variabili per contenere i valori passati.
// Declare the window_width function
function window_width($width)
{
echo $width; // Access the value passed into the function as $width
// ...
}
window_width(100); // Call the function with the literal value 100
$newWidth = 100;
window_width($newWidth); // Call the function with the value stored in $newWidth
Le funzioni possono restituire valori usando la parola chiave return.
I valori da restituire possono essere valori letterali, memorizzati in variabili o il risultato di un'istruzione.
function window_height()
{
$heightOffset = 10;
return 100 + $heightOffset;
}
Le funzioni all'interno delle classi e delle loro istanze si chiamano metodi.
Per chiamare un metodo, il nome è preceduto dall'istanza e da ->.
Un'istanza di una classe viene creata con l'operazione new.
I metodi hanno accesso alla variabile speciale $this, che si riferisce all'istanza corrente.
<?php
// Calculator.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
Approfondiremo le funzioni e le classi negli esercizi successivi.
Come forma di base di debug, stampare i valori e il contenuto delle variabili aiuta a capire cosa succede. PHP può stampare i valori usando:
echo $variable; per produrre una rappresentazione testuale del valoreprint $variable;, che equivale a echo $variable;
var_dump($variable); per avere maggiori informazioni sul valore, ad esempio il tipo che PHP vedeQuando usi echo o print: le stringhe vuote, false e null non verranno mostrati.
E le classi e le istanze provocheranno un errore.
Usa var_dump() per vederli.
Nell'editor online, l'output che produci viene mostrato insieme ai risultati dei test. Quando usi la CLI, l'output appare mescolato all'indicatore di avanzamento prima del riepilogo dei test.
I file sono le unità di base dell'organizzazione del codice in PHP e in molti altri linguaggi. Per mostrare il nome del file da consultare in un blocco di codice, usiamo un commento. Non devi mai aggiungere commenti simili ai tuoi file:
<?php
// NameOfPhpFile.php
[...]
Codice, funzioni e classi possono essere tutti presenti in un singolo file. Ma di solito questi tipi di unità di codice si trovano in file separati.
È prassi comune avere una classe per file, con un nome di file che corrisponde alla classe.
<?php
// Calculator.php
class Calculator {
// ...
function add($x, $y)
{
return $x + $y;
}
}
Di solito le funzioni sono raggruppate in file che descrivono il loro tema comune.
<?php
// window_handling.php
function window_paint()
{
// ...
}
function window_size($width, $height)
{
// ...
}
function window_move($x, $y)
{
// ...
}
E spesso ci sono file che contengono istruzioni da eseguire direttamente, come un index.php comunemente usato come punto di ingresso di un'applicazione web.
<?php
// index.php
$sum = add(1, 2);
// ...
I nomi delle classi dovrebbero essere tutti in PascalCase.
A seconda dello standard di stile, i nomi di variabili, funzioni e metodi possono essere in camelCase o snake_case.
I nomi possono contenere lettere a-zA-Z, numeri 0-9 e underscore _, ma non possono iniziare con un numero.
I commenti su una riga iniziano con //, e un blocco di testo può essere racchiuso tra /* e */ per diventare un commento su più righe.
// Single-line comment
/*
Multi-line comment
*/