<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/introduction.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'it',
  ),
  'this' => 
  array (
    0 => 'intro-whatcando.php',
    1 => 'Che cosa pu&ograve; fare PHP?',
    2 => 'Che cosa pu&ograve; fare PHP?',
  ),
  'up' => 
  array (
    0 => 'introduction.php',
    1 => 'Introduzione',
  ),
  'prev' => 
  array (
    0 => 'intro-whatis.php',
    1 => 'Che cos\'&egrave; il PHP?',
  ),
  'next' => 
  array (
    0 => 'tutorial.php',
    1 => 'Una semplice introduzione',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'it',
    'path' => 'chapters/intro.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="intro-whatcando" class="section">
   <div class="info"><h1 class="title">Che cosa può fare PHP?</h1></div>
   <p class="para">
   Qualsiasi cosa. PHP ha come obiettivo principale lo scripting server-side,
   per cui può fare tutto ciò che può fare un qualunque 
   programma CGI, come raccogliere dati da un form, generare pagine dai contenuti
   dinamici, oppure mandare e ricevere cookies. Ma PHP può fare molto di più.
   </p>
   <p class="para">
   Esistono tre campi principali in cui vengono usati gli scripts PHP.
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       Lo scripting server-side. Questo è il campo più tradizionale 
       ed il maggiore obiettivo di PHP. Per farlo funzionare occorrono
       tre cose: il parser PHP (CGI o server 
       module), un webserver ed un browser web. Occorre avviare
       il server web con un&#039;installazione di PHP attiva. 
       Si può accedere all&#039;output del programma PHP con un browser web
       e vedere la pagina PHP tramite il server. Tutto ciò può 
       essere attivato sul pc di casa se si desidera
       semplicemente provare la programmazione PHP.  Consultate la 
       sezione <a href="install.php" class="link">Istruzioni per l&#039;installazione</a>
       per ulteriori informazioni.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Lo scripting di righe di comando. Si può creare uno script
       PHP da usare senza alcun server o browser. 
       Per usarlo in questo modo, l&#039;unica cosa necessaria è un parser PHP. 
       Questo tipo di utilizzo è ideale per gli scripts eseguiti 
       con cron (sui sistemi *nix o Linux) oppure il Task Scheduler (su 
       Windows). Questi script possono essere utilizzati per semplici task di 
       processamento testi. Vedere la sezione
       <a href="features.commandline.php" class="link">Uso di righe di comando in PHP</a>
       per maggiori informazioni.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Scrittura di applicazioni desktop. Probabilmente PHP non 
       è il linguaggio più adatto per scrivere 
       applicazioni desktop, con interfaccia grafica, ma, 
       se lo si conosce molto bene, e se se ne vogliono usare delle 
       caratteristiche avanzate in applicazioni client-side, 
       si può anche adoperare PHP-GTK per scrivere questo tipo di programmi. Allo stesso 
       modo, c&#039;è anche la possibilità di scrivere applicazioni cross-platform. 
       PHP-GTK è un&#039;estensione di PHP non reperibile nella 
       grande distribuzione. Se vi interessa, visitate
       <a href="http://gtk.php.net/" class="link external">&raquo;&nbsp;il sito 
       web</a>.
      </span>
     </li>
    </ul>
   </p>
   <p class="para">
    PHP può essere <a href="install.php" class="link">usato</a> su tutti i principali sistemi operativi, inclusi 
    Linux, molte varianti di Unix (compresi HP-UX, Solaris e OpenBSD),
    Microsoft Windows, macOS, RISC OS, e probabilmente altri.
    Inoltre supporta anche la maggior parte dei server web esistenti. 
    Ciò comprende Apache, IIS, e molti altri. E questo include qualsiasi
    server web che può utilizzare il binario PHP FastCGI, come lighttpd
    e nginx. PHP funziona sia come un modulo, sia come un processore CGI.
   </p>
   <p class="para">
    Pertanto, con PHP si ha la libertà di scegliere praticamente qualsiasi
    sistema operativo e qualsiasi server web. Inoltre, si può anche
    scegliere se fare uso di una programmazione procedurale oppure
    orientata agli oggetti (OOP), o una combinazione di entrambe.
   </p>
   <p class="para">
    Con PHP non siete limitati soltanto ad un output in HTML. Le possibilità
    di PHP, infatti, includono l&#039;abilità di generare immagini, files PDF e perfino filmati Flash 
    al volo (utilizzando libswf e Ming). Sarete in grado 
    di generare facilmente qualsiasi testo, come XHTML e qualsiasi altro file XML.
    PHP può autogenerare questi file, e salvarli nel file 
    system, piuttosto che eseguire un printing esterno, o creare server-side
    cache per contenuti dinamici.
   </p>
   <p class="para">
    Una delle caratteristiche più importanti e significative di PHP è 
    la possibilità di supportare una <a href="refs.database.php" class="link">completa gamma di database</a>.
    Scrivere una pagina web collegata ad un database è incredibilmente semplice utilizzando una delle
    specifiche estensioni del database (p.e., per <a href="book.mysqli.php" class="link">mysql</a>),
    o utilizzando un abstraction layer come <a href="book.pdo.php" class="link">PDO</a>, o connettendosi
    a qualsiasi database che supporta lo standard Open Database Connection tramite l&#039;
    estensione <a href="book.uodbc.php" class="link">ODBC</a>. Altri database possono utilizzare
    <a href="book.curl.php" class="link">cURL</a> o <a href="book.sockets.php" class="link">i socket</a>,
    come CouchDB.
   </p>
   <p class="para">
    PHP fa anche da supporto per dialogare con altri servizi utilizzando i protocolli 
    del tipo LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (in Windows) e
    innumerevoli altri. Potete anche aprire network sockets ed
    interagire usando qualsiasi altro protocollo. Inoltre supporta l&#039;interscambio di dati complessi WDDX
    tra, virtualmente, tutti i linguaggi di programmazione web. 
    A proposito di interconessioni, PHP supporta 
    l&#039;istanziazione dei Java Objects e l&#039;utilizzo di questi 
    come oggetti PHP in modo trasparente.
   </p>
   <p class="para">
    PHP possiede utili caratteristiche per l&#039;<a href="refs.basic.text.php" class="link">elaborazione testi</a>,
    che includono la compatibilità alle espressioni regolari di Perl (<a href="book.pcre.php" class="link">PCRE</a>),
    e molte estensioni e strumenti per <a href="refs.xml.php" class="link">analizzare e accedere ai documenti XML</a>.
    PHP standardizza tutte le estensioni XML sulla solida base di <a href="book.libxml.php" class="link">libxml2</a>,
    ed estende le caratteristiche aggiungendo il supporto <a href="book.simplexml.php" class="link">SimpleXML</a>,
    <a href="book.xmlreader.php" class="link">XMLReader</a> e <a href="book.xmlwriter.php" class="link">XMLWriter</a>.
   </p>
   <p class="para">
    E molte altre estensioni interessanti esistono, e sono categorizzate sia
    <a href="extensions.php" class="link">in ordine alfabetico</a> che per <a href="funcref.php" class="link">categoria</a>.
    E ci sono latre estensioni PECL che possono essere o no documentate
    all&#039;interno del manuale PHP, come <a href="http://xdebug.org/" class="link external">&raquo;&nbsp;XDebug</a>.
   </p>
   <p class="para">
    Come si può notare, questa pagina non è sufficiente per elencare
    tutte le funzioni e i benefici che PHP offre. Continua a leggere, 
    consultando le sezioni <a href="install.php" class="link">Installazione di
    PHP</a>, e guarda la parte sul <a href="funcref.php" class="link">riferimento 
    alle funzioni</a> per delle spiegazioni sulle estensioni 
    menzionate qui.
   </p>
  </div><?php manual_footer($setup); ?>