IMC!


Contenuti


Foto

 







Curiosando...
Novita  Novità Link  Link Blog  Blog English  Español 
Alcune caratteristiche di PHP che forse non conoscevate

PHP, si sa, � uno dei pi� diffusi linguaggi di scripting lato server diffusi sul web, e la rete � ricca di guide, discussioni e materiale a riguardo. Nel corso degli anni � stato arricchito di numerosissime funzionalit�, e al giorno d'oggi l'elenco di funzioni e classi offerte nativamente � davvero folto, senza contare le estensioni di terze parti. Tuttavia, esistono alcune peculiarit� di questo linguaggio a livello di sintassi basilare che sono davvero poco note. Questo articolo ve ne presenta alcune.
  1. E' possibile inserire variabili di tipo INT con varie notazioni:

    $a = 10e3; // Notazione esponenziale. $a = 1000;
    $b = 0x12; // Notazione esadecimale. $b = 18;

  2. Le stringhe possono essere definite con pi� sintassi, riassunte in questa tabella:

    Sintassi compatta Sintassi estesa
    Stringa interpretata Virgolette doppie Heredoc
    Stringa non interpretata Virgolette singole Nowdoc


    L'interprete PHP riconosce e sostituisce caratteri speciali e variabili nelle stringhe definite con virgolette doppie:

    $a = 5;
    echo "Questo numero vale $a\nFine.";

    che stampa a schermo:

    Questo numero vale 5
    Fine.

    Analogamente, � possibile definire una sintassi estesa, chiamata heredoc, su pi� righe:

    $a = 5;
    echo <<<EOT
    \n\n HEREDOC: Questo
    numero vale $a\n
    EOT
    ;

    che stampa a schermo:



     HEREDOC: Questo
    numero vale 5
     

    Al contrario, se si usano le virgolette singole la stringa � riportata cos� come viene scritta:

    $a = 5;
    echo 'Questo numero vale $a\n'

    visualizza

    Questo numero vale $a\n

    La sintassi equivalente estesa, introdotta con PHP 5.3, � si chiama Nowdoc.

    echo <<<'EOT'
    NOWDOC Questo
    numero vale $a\n
    EOT
    ;

    che visualizza:

    NOWDOC Questo
    numero vale $a\n

  3. Le strutture di controllo, come if..else, possono essere definite anche senza l'uso di parentesi graffe, analogamente a quanto avviene in altri linguaggi, come in MatLab:

    if($a>10):
      echo 'pippo';
    endif

    Oppure addirittura scrivendo un codice misto con l'HTML:

    <?PHP if($a>10): ?>
    <P>Questo � un testo in HTML</P>
    <?PHP endif ?>

  4. Esiste una sintassi abbreviata per modificare una variabile a seguito di un'operazione sulla variabile stessa:

    $x = 5;

    $x .= 4; // Equivale a $x = $x . 4;
    $x += 4; // Equivale a $x = $x + 4;
    $x -= 4; // Equivale a $x = $x - 4;
    $x *= 4; // Equivale a $x = $x * 4;
    $x /= 4; // Equivale a $x = $x / 4;
    $x %= 4; // Equivale a $x = $x % 4;

  5. E' possibile incrementare o decrementare una variabile facendovi precedere o seguire gli operatori ++ o --, come segue:

    $x = 5;
    // Visualizza 6: incrementa e restituisce il valore.
    echo "Predecremento: " . ++$x . "\n";

    $x = 5;
    // Visualizza 5: restituisce il valore e incrementa.
    echo "Postdecremento: " . $x++ . "\n";

  6. L'operatore ternario offre una sintassi abbreviata e sostitutiva a if. Tale sintassi � molto sintetica e compatta, ma non bisogna abusarne per evitare di rendere il codice troppo complesso e difficile da mantenere. In particolare, � buona pratica che la riga occupi meno di 80 caratteri e che non vi siano pi� condizioni indentate.

    // (condizione)? codice_se_vera : codice_se_falsa;
    $a = -2;
    echo ($a>0) ? 'positivo' : 'negativo';

    che visualizza

    negativo








Fatal error: Call to undefined function sqlite_open() in /membri/giacobbe85/include/commenti.inc.php on line 324