Corsi on-line

Sintassi Nowdoc in PHP

Con la versione 5.3.0 è stata introdotta in PHP la sintassi Nowdoc, morfologicamente questa ricorda molto da vicino quella denominata Heredoc già largamente in uso da anni per questo linguaggio; quale differenza sussiste tra le due tipologie di sintassi? Sostanzialmente la Nowdoc potrà essere utilizzata all’interno di un contesto statico di dati (static datacontext), i dati statici lo sono nel contesto di una classe, ciò significa che un membro statico di dati in una classe viene condiviso da tutte le istanze appartenenti a quella classe.

Analizziamo un semplice esempio basato su una costante, senza l’utilizzo di nowdocs la definzione di una costante e il relativo utilizzo potrebbe avvenire in questo modo:

<?php
class NomeClasse
{
const constant = 'un valore qualsiasi';
function stampaCostante() {
echo  self::constant . "\n";
}
}
echo NomeClasse::constant . "\n";
$data = "NomeClasse";
echo $data::constant . "\n";
$obj = new NomeClasse();
$obj->stampaCostante();
echo $obj::constant."\n";
?>

Ecco invece un esempio relativo al  static datacontext con sintassi nowdocs:

<?php
class Blah {
const Blah = <<<'EOT'
Blah
EOT;
}
?>

Le procedure mostrate sono compatibili con PHP 5.3.0.

Post correlati
I più letti del mese
Tematiche