Probabilmente avete familiarità con le istruzioni if di PHP. È molto simile alla sua controparte in molti altri linguaggi di programmazione e rappresenta uno dei concetti fondamentali della programmazione. L’istruzione if è facile da capire e facile da padroneggiare. Questo è probabilmente quello che siete abituati a leggere:

<?php
if ($eta >= 18) {
    $messaggio = "Sei maggiorenne!";
}
else {
    $messaggio = "Spiacenti, non hai i requisiti!";
}
?>
Ma c’è un modo per costruire questo concetto e aumentare un po’ le prestazioni di $eta nel processo. Per fare questo si usa l’operatore ternario, che sarebbe una notazione abbreviata per le istruzioni if​​.

L'operatore ternario
Composto da tre parti, l’operatore ternario utilizza tre espressioni separate da un punto interrogativo e due punti. Il punto interrogativo separa la prima l’espressione di test e può essere pensata come una domanda: “È vero?“. I due punti separano due valori: il primo sarà scelto se la domanda di test risulta vera, e la seconda, se l’espressione di test risulta falsa. Osservate:
<?php
$messaggio = ($eta >= 10) ? "Sei maggiorenne!" : "Spiacenti, non hai i requisiti!";
?>
Uno dei frammenti preferiti per usare l’operatore ternario è quello di verificare se il valore di una varibile è impostata e, se non lo è, impostarla con un valore predefinito.
<?php
$mioColore = isset($_GET["colore"]) ? $_GET["colore"] : "pink";
?>
Se il parametro colore è stato passato nello script dall’URL, il suo valore viene assegnato a $mioColore; altrimenti, il valore di default da assegnare sarà “pink”.
Dalla versione 5.3 di PHP è possibile abbreviare le dichiarazioni ternarie ancora di più, escludendo l’espressione centrale. Se l’espressione di test restituisce vero in un contesto booleano, viene restituito il suo valore; altrimenti, viene restituito il valore alternativo contenuto nell’espressione di destra.
<?php
$mioColore = $_GET["colore"] ?: "pink";
?>
Utilizzando l’operatore ternario correttamente, il codice può risultare più pulito; abusando, l’operatore ternario può rendere le cose un bel pasticcio. Non sacrificate la leggibilità o la manutenibilità del codice per aggiungere un po’ di svasatura.
Non abusarne!
Prima di usare l’operatore ternario, si dovrebbe considerare la complessità della situazione a portata di mano. Evitare le nidificazione o l’impilamento di operazioni, anche se sei a tuo agio nel contesto, in quanto ciò può portare a codici molto confusi e risultati poco intuitivi. È preferibile usare le istruzioni if per situazioni complesse. Soprattutto cercare di mantenere il codice pulito e di facile comprensione, per essere gentile con la persona che lo legge.
Inoltre non è inaudito dividere l’operatore ternario in più righe. Come molte altre cose nella programmazione, ci sono molte variazioni sull’uso spazi vuoti per migliorare la leggibilità del codice.
<?php
$messaggio = $haVinto
   ? "Congratulazioni! Hai appena vinto un sacco di soldi e premi!"
   : "Spiacente, non hai vinto soldi o premi questa volta.";
?>
Come sempre, la leggibilità dovrebbe essere la chiave.
Riepilogo
L’operatore ternario può sembrare un po’ strano in un primo momento, ma richiede poco sforzo per padroneggiarlo ed è molto facile da spiegare a chi potrebbe fare la manutenzione del codice in futuro. Con un po’ di pratica sarete in grado di dare al vostro codice PHP una dose extra di rendimento.
Similari
Python per tutti
273% Python
[nextpage title=”Copertina”] Python para todos è un libro sulla programmazione in Python. Questo è un tutoriale su Python adatto a tutti i livelli e si può scaricare in pdf gratuitamente in spagnolo. Il tutoriale di Python…
Fondamentali di jQuery
122% JQuery
[nextpage title=”Benvenuti”] jQuery stà diventando rapidamente uno strumento che ogni sviluppatore web di interfacce dovrebbe conoscere. Lo scopo di questo libro è di fornire una panoramica della biblioteca, in modo che qu…
Guida allo Zend Framework
45% Zend
Zend Framework è un framework open source per PHP. Zend Framework separa la logica e le azioni usando il pattern MVC (Model View Controller). Cosa è lo Zend Framework? Framework per la costruzione di siti web più veloci e …
Introduzione al PHP
44% Php
Scopri ed esplora la programmazione di scripting server side con il linguaggio PHP. Questo post è rivolto a persone che sono nuovi alla programmazione. Non è adatto a persone che già hanno competenze di programmazione di b…
Modello di spazi dei nomi in JavaScript
31% JScript
In questo post, si discuteranno dei modelli intermedi, avanzati e gli approcci per il namespacing in JavaScript. Si comincia con l’ultimo come credo che molti dei lettori abbia qualche precedente esperienza in questo setto…