<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/tutorial.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'it',
  ),
  'this' => 
  array (
    0 => 'tutorial.oldcode.php',
    1 => 'L\'uso di vecchi codici con le nuove versioni di PHP',
    2 => 'L\'uso di vecchi codici con le nuove versioni di PHP',
  ),
  'up' => 
  array (
    0 => 'tutorial.php',
    1 => 'Una semplice introduzione',
  ),
  'prev' => 
  array (
    0 => 'tutorial.forms.php',
    1 => 'Trattare con i Form',
  ),
  'next' => 
  array (
    0 => 'tutorial.whatsnext.php',
    1 => 'E poi?',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'it',
    'path' => 'chapters/tutorial.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="tutorial.oldcode" class="section">
   <h2 class="title">L&#039;uso di vecchi codici con le nuove versioni di PHP</h2>
   <p class="para">
    Da quando il PHP è divenuto un linguaggio di scripting popolare, esistono
    più fonti che producono listati di codice che si possono adoperare nei propri scripts.
    La maggioranza degli sviluppatori del PHP ha cercato di renderlo compatibile con le versioni precedenti,
    perciò uno script creato per una vecchia versione del PHP dovrebbe girare senza modifiche (in teoria) in una più
    recente. In pratica, spesso possono servire delle correzioni.
    </p>
   <p class="para">
    Ecco due delle più importanti modifiche apportate al vecchio codice:
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
      I vecchi arrays <var class="varname">$HTTP_*_VARS</var> non sono più disponibili a partire da 
      PHP 5.4.0.
      In PHP <a href="https://www.php.net/releases/4_1_0.php" class="link external">&raquo;&nbsp;4.1.0</a>
      furono introdotti i seguenti <a href="language.variables.superglobals.php" class="link">autoglobal arrays</a>:
      Essi sono: <var class="varname"><a href="reserved.variables.get.php" class="classname">$_GET</a></var>, <var class="varname"><a href="reserved.variables.post.php" class="classname">$_POST</a></var>, 
      <var class="varname"><a href="reserved.variables.cookies.php" class="classname">$_COOKIE</a></var>, <var class="varname"><a href="reserved.variables.server.php" class="classname">$_SERVER</a></var>, 
      <var class="varname"><a href="reserved.variables.files.php" class="classname">$_FILES</a></var>, <var class="varname"><a href="reserved.variables.environment.php" class="classname">$_ENV</a></var>,
      <var class="varname"><a href="reserved.variables.request.php" class="classname">$_REQUEST</a></var>, e <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Le variabili esterne non vengono più registrate nel global scope per default.
       In altre parole, da PHP
       <a href="https://www.php.net/releases/4_2_0.php" class="link external">&raquo;&nbsp;4.2.0</a> la direttiva PHP
       <code class="literal">register_globals</code> è
       <em>off</em> per default in <var class="filename">php.ini</var>. Il metodo consigliato per accedere
       a questi valori è quello che fa uso degli array autoglobali suddetti. Scripts, libri
       e tutorials più vecchi possono contare su questa
       direttiva su <code class="literal">on</code>.  Se essa è <code class="literal">on</code>, per esempio, qualcuno
       potrebbe usare <var class="varname">$id</var> dall&#039;URL
       <code class="literal">http://www.example.com/foo.php?id=42</code>. La variabile,
       <var class="varname"><a href="reserved.variables.get.php" class="classname">$_GET['id']</a></var> sarebbe disponibile indifferentemente del fatto che sia on od off.
      </span>
     </li>
    </ul>
    Per ulteriori dettagli su queste modifiche, vedere la sezione sulle
    <a href="language.variables.predefined.php" class="link">variabili predefinite</a>
    ed i links ad essa connessi.
   </p>
  </div><?php manual_footer($setup); ?>