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
[content_box]Python per tutti
300% Python
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…[/content_box] [content_box]Fondamentali di jQuery
139% JQuery
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…[/content_box] [content_box]Guida allo Zend Framework
49% 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 …[/content_box] [content_box]Introduzione al PHP
48% 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…[/content_box] [content_box]Modello di spazi dei nomi in JavaScript
34% 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…[/content_box]