Installazione in ambiente PWS (W9X, WNTwks, ME, XP, W2000pro)

Iniziamo l'installazione di php410-installer.exe nella versione 4.1.0, che crea una directory c:\php, che contiene due subdirectory (sessiondata e uploaditem) e quattro file (install.txt, license, php.exe, php4ts.dll).
Letta e accettata la licenza d'uso, seguendo le istruzioni nel file install.txt, passiamo all'installazione vera e propria del nostro super CGI.
L'ambiente non è un server e, non potendo gestire servizi, deve essere configurato in modo che possa interpretare correttamente la presenza dei file con estensione .php. Eseguiamo perciò il programma di gestione del file di registro, regedit.exe, ci portiamo su
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/W3Svc/Parameters/ScriptMap, clicchiamo col tasto dx su ScriptMap e scegliamo nuova \ stringa, assegniamo al nome l'estensione .php e ai dati il percorso del nostro CGI, cioè c:\php\php.exe. Poi ci portiamo su HKEY_CLASSES_ROOT, clicchiamo col tasto dx e scegliamo nuova \ chiave scrivendo la nuova estensione .php; evidenziamola e passiamo al pannello destro, doppio clic sul nome (predefinito) e digitiamo phpfile (se desideriamo avere anche altre estensioni dobbiamo ripetere la stessa operazione). Ora bisogna creare una nuova chiave, quindi tasto dx e scegliamo nuova \ chiave phpfile; evidenziamo la chiave, doppio clic sul nome (predefinito) e digitiamo PHP script, creiamo una nuova chiave in phpfile (tasto dx e scegliamo nuova \ chiave) shell, poi una sotto chiave open, ancora una sottochiave command, doppio clic sul nome (predefinito) e digitiamo esattamente c:\php\.exe -q %1.
Chiudiamo Regedit e riavviamo il sistema per rendere effettive le modifiche. Tra l'altro, se non sapevate come inserire correttamente un'estensione, questo è ciò che bisogna apprendere; per comodità ho salvato le informazioni in un file, che si potrà comodamente editare se il percorso di php.exe è diverso da quello impostato, ricordandoci che lo slash è doppio per i path. Infine settare l'accesso in Esecuzione alle cartelle che contengono i file .php.
Per essere sicuri che tutto sia andato bene, creiamo un file php che contenga le informazioni sull'installazione, usando la funzione phpinfo():
 
<?php
phpinfo()
?>

eseguiamolo dal client e vedremo comparire correttamente le informazioni richieste.

Le costanti
Si definiscono con la funzione define(); naturalmente non possono essere ridefinite e sono globali.

<?php
define("MIACOSTANTE", "Ciao mondo.");
echo MIACOSTANTE; // stampa "ciao mondo."
?>

Non va anteposto il simbolo del dollaro ($) come per le variabili (vale solo per i tipi boolean, integer, double, string).

Le funzioni
Come nel linguaggio C, le subroutine sono solo funzioni con o senza argomenti e con identica struttura

<?PHP
function moltiplica($intarg1, $intarg2)
{
  return $intarg1 * $intarg2;
}
$IntRisultato = moltiplica(2,3);
echo $IntRisultato;
?>

Nell'esempio testé mostrato le variabili sono passate per valore, ma posso essere passate anche per riferimento oppure argomenti di default, come in C++
 
<?PHP
function aggiungi(&$string)
{
    $string .= "questa è l'aggiunta.";
}
$str = "La stringa, ";
aggiungi($str);
echo $str;    // stampa 'La stringa, questa è l'aggiunta.'
?>

oppure

<?PHP
function CostruisciCasa ($Modello = "villa")
{
    return "Costruisci una $Modello.\n";
}
echo CostruisciCasa ();                     // stampa costruisci una villa.'
echo "<br>";
echo CostruisciCasa ("catapecchia"); // stampa costruisci una catapecchia.'
?>

Mantenimento dello stato: Le sessioni
La funzione session_start() inizializza una variabile per poter essere usata nelle stesse pagine; session_register($strarg1, $strarg2, ..) registra la variabile nel server e session_is_registered($strarg1) verifica che la variabile sia effettivamente registrata.

<?php
session_start();
if (session_register("mionome"))
{
  echo "sessione attiva";
  $mionome = "la mia sessione";
}
 else
  echo "sessione non attiva";

echo "<BR><BR> &nbsp; &nbsp; &nbsp; &nbsp; adesso verifico la sessione <BR><BR>";

if (session_is_registered("mionome"))
  echo $mionome;
else
  echo "sessione fallita";
?>

Ci sono altre quindici funzioni per manipolare le sessioni ma, come in ASP (Active Server Page), JSP (Java Server page), anche in PHP valgono le solite raccomandazioni.
Le variabili di sessione risiedono sul server, perciò lo sovraccaricano; i cookie risiedono sul client, ma non sappiamo se questi saranno accettati dal client, però possiamo anche passare le variabili da una pagina all'altra semplicemente tramite l'URL, come in ASP e JSP:
   http://IndirizzoServer/MiaPagina.php?variabile=casa
dopo la pagina richiesta facciamo seguire un punto interrogativo (?), nome della variabile(variabile), segno uguale(=) e infine la variabile(casa); la pagina php (MiaPagina.php) dovrà solo avere la variabile $variabile, che potrà essere immediatamente utilizzata. Bisogna solo ricordarsi che dopo il punto interrogativo non ci deve essere alcuno spazio!

Scarica gli esempi allegati

Attenzione: gli esempi qui mostrati funzionano con copia e incolla a patto che vengano tolti tutti i caratteri superflui (colore, spaziatura...) utili per una migliore visualizzazione sui browser, ma fastidiosi per il parser PHP!

Pagina precedente - Pagina successiva