<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.oop5.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'it',
  ),
  'this' => 
  array (
    0 => 'language.oop5.constants.php',
    1 => 'Costanti di classe',
    2 => 'Costanti di classe',
  ),
  'up' => 
  array (
    0 => 'language.oop5.php',
    1 => 'Classi e Oggetti',
  ),
  'prev' => 
  array (
    0 => 'language.oop5.property-hooks.php',
    1 => 'Property Hooks',
  ),
  'next' => 
  array (
    0 => 'language.oop5.autoload.php',
    1 => 'Caricamento automatico delle classi',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'it',
    'path' => 'language/oop5/constants.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.oop5.constants" class="sect1">
 <h2 class="title">Costanti di classe</h2>
 <p class="para">
  Si possono definire valori costanti relativi ad una classe che rimangano 
  non modificabili. Le costanti si distinguono dalle normali variabili poiché
  non si utilizza il simbolo <var class="varname">$</var> per dichiararle o riferirsi ad esse. 
 </p>
 <p class="para">
  Il valore deve essere un&#039;espressione costante, non (ad esempio) una variabile, una
  proprietà, o la chiamata ad una funzione.
 </p>
 <p class="para">
  È inoltre possibile dichiarare <code class="literal">constants</code> relative alle interfacce. Fare riferimento  
  alla <a href="language.oop5.interfaces.php" class="link">documentazione interfacce</a> per
 degli esempi.
 </p>
 <p class="para">
  A partire da PHP 5.3.0, è possibile fare riferimento alla classe utilizzando una variabile.
  Il valore della variabile non può essere una parola chiave (ad esempio, <code class="literal"> self </code>
  <code class="literal"> parent </code> o <code class="literal"> static </code> ).
 </p>   
 <div class="example" id="example-1">
  <p><strong>Example #1 Definire ed usare una costante</strong></p>
  <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">MiaClasse<br /></span><span style="color: #007700">{<br />    const </span><span style="color: #0000BB">COSTANTE </span><span style="color: #007700">= </span><span style="color: #DD0000">'valore costante'</span><span style="color: #007700">;<br /><br />    function </span><span style="color: #0000BB">mostraConstante</span><span style="color: #007700">() {<br />        echo  </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">COSTANTE </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    }<br />}<br /><br />echo </span><span style="color: #0000BB">MiaClasse</span><span style="color: #007700">::</span><span style="color: #0000BB">COSTANTE </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$nomeclasse </span><span style="color: #007700">= </span><span style="color: #DD0000">"MiaClasse"</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$nomeclasse</span><span style="color: #007700">::</span><span style="color: #0000BB">COSTANTE </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// PHP 5.3.0<br /><br /></span><span style="color: #0000BB">$classe </span><span style="color: #007700">= new </span><span style="color: #0000BB">MiaClasse</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$classe</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">mostraConstante</span><span style="color: #007700">();<br /><br />echo </span><span style="color: #0000BB">$classe</span><span style="color: #007700">::</span><span style="color: #0000BB">COSTANTE</span><span style="color: #007700">.</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// PHP 5.3.0<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
  </div>

 </div>
 <div class="example" id="example-2">
  <p><strong>Example #2 Esempio di dati statici</strong></p>
  <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br />    </span><span style="color: #FF8000">// PHP 5.3.0<br />    </span><span style="color: #007700">const </span><span style="color: #0000BB">BAR </span><span style="color: #007700">= &lt;&lt;&lt;'EOT'<br /></span><span style="color: #DD0000">bar<br /></span><span style="color: #007700">EOT;<br />    </span><span style="color: #FF8000">// PHP 5.3.0<br />    </span><span style="color: #007700">const </span><span style="color: #0000BB">BAZ </span><span style="color: #007700">= &lt;&lt;&lt;EOT<br /></span><span style="color: #DD0000">baz<br /></span><span style="color: #007700">EOT;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
  </div>

 </div>
 <blockquote class="note"><p><strong class="note">Nota</strong>: 
  <p class="para">
   Il supporto per l&#039;inizializzazione di costanti con la sintassi Heredoc e Nowdoc è stato aggiunto in PHP 5.3.0.
  </p>
 </p></blockquote>
 <div class="example" id="example-3">
  <p><strong>Example #3 Esempio di espressione delle costanti</strong></p>
  <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">const </span><span style="color: #0000BB">ONE </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /><br />class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{<br />    </span><span style="color: #FF8000">// PHP 5.6.0<br />    </span><span style="color: #007700">const </span><span style="color: #0000BB">TWO </span><span style="color: #007700">= </span><span style="color: #0000BB">ONE </span><span style="color: #007700">* </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br />    const </span><span style="color: #0000BB">THREE </span><span style="color: #007700">= </span><span style="color: #0000BB">ONE </span><span style="color: #007700">+ </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">TWO</span><span style="color: #007700">;<br />    const </span><span style="color: #0000BB">SENTENCE </span><span style="color: #007700">= </span><span style="color: #DD0000">'Il valore di THREE è '</span><span style="color: #007700">.</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">THREE</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
  </div>

  <div class="example-contents"><p>
   È possibile fornire un&#039;espressione scalare che coinvolge numeri e stringhe e/o costanti nel contesto di una costante di una classe.
  </p></div>
 </div>
 <blockquote class="note"><p><strong class="note">Nota</strong>: 
  <p class="para">
   Il supporto per le espressioni delle costanti è stato aggiunto in PHP 5.3.0.
  </p>
 </p></blockquote>
</div><?php manual_footer($setup); ?>