Vous êtes sur la page 1sur 62

PHP ­ MySQL


Animateur
– Jean-Marc Vanel
– Consultant Logiciels libres, Java & XML
– Email: mailto://jmvanel@free.fr
– Site: http://jmvanel.free.fr/


Déroulement
– Horaires
– Déjeuner
– Pauses
– Questions
Les bases PHP : le menu
• Historique, Points forts, Principe
• Syntaxe: Variables, tableaux, constantes, Opérateurs
• Les blocs de contrôle: if, boucles while, for, foreach, switch
• Les fonctions, PHP Objet
• Formulaires
• Base de Données MySql
• Sessions, Cookies
• Images
• Upload de fichier
• Les templates
• Configuration PHP: php.ini
• Resources – Vers la version 5
PHP – C'est....

Logiciel libre et gratuit Versio


Langage de script coté serveur n 4.2.3

Développé en C

Soutenu par la Apache Fundation Software 
   ("édité" par Zend technologies http://www.zend.com)

Site officiel http://www.php.net
Ressources en français:
­ http://www.phpindex.com
­ http://dev.nexen.net/
Ressources en anglais
­ http://www.phpbuilder.com
­ http://www.allhtml.com
PHP – Historique

De Personnal Home Page


Crée en 1994 par Rasmus Lerdorf...
...réécrit 3 fois

A Php Hypertext Preprocessor


Un acronyme récursif calqué sur le principe
Gnu's not Unix

7 000 000 de noms de domaine aujourd'hui
Sources netcraft : http://www.php.net/usage.php
PHP – Nouveautés V4

Un nouveau moteur...
Performances accrues
   Des outils supplémentaires 
      Compiler, Caches et Optimiseurs
         (parfois payants...)

Meilleur compatibilité
Un module ISAPI pour IIS

Nouvelles fonctionnalités
Prise en charge native des sessions
Nouveaux type de boucles
...
PHP – Points forts

Des solutions alternatives


Asp, JSP / Servlets, Cfm, CGI, Perl, ...

Pourquoi Php ?
­ Performances élevées.
­ Multi­base (MySQL, PostgreSQL, mSQL, Oracle, dbm, 
   Filepro, Hyperware, Informix, Interbase, Sybase, ODBC, 
JDBC, Oracle ... )
­ Bibliothèques de fonctions, de scripts
­ conçu pour le Web
­ Simplicité d'apprentissage
­ Portabilité
­ Gratuité, Open Source
PHP – Principe

Principe de fonctionnement
Traitement coté serveur
Interprète le code PHP 
(généralement génère une page 
HTML)
Page PHP ?
Demande Serveur
PHP
de page http Requête
Résultat du  BD?
traitement Résultat 
Page
requête
résultante
Navigateur
Base de données

Schéma simplifié du déroulement d’une requête 
mettant en jeu une page PHP
PHP – Principe, conclusions

Visibilité
Seul le code HTML est disponible coté utilisateur

<? Page PHP (sur serveur)
echo ‘<p>’;
echo ‘bonjour’;
Page générée 
echo ‘</p>’;
et transmise
?> <p>bonjour</p>
Résultat dans 
le navigateur
bonjour

Client
PHP –Syntaxe

Généralités
Très proche du C, C++, Java
Directement intégré dans les pages HTML
Entre les balises <?php Et ?>
Lignes d’instructions terminées par ‘;’

Simplicité de l’écriture
Typage faible
Pas de forte structuration du code
Allocation / libération de mémoire automatique

! Seul le développeur est garant de la 
lisibilité du code
PHP –Structure type

Installer Php et créer la page « hello the world »
PHP – Variables, concepts

Variables
•Précédée d’un ‘$’
•Affectation avec '='
•Pas de « déclaration » (automatique)
•Faiblement typé

Portée
Script
Locale
Globale
Super­globale

Constantes
PHP – Variables, utilisation

Utilisation
Numériques Chaînes Tableaux
<? <? <?
$a = 2; $chaine = ‘Bonjour’; $tableau[0] = 10;
//(a vaut 2) $qui = ‘ Aston’; $tableau[1] = 20;

$b = $a + 8; $text = $chaine.$qui; $courses[‘pomme’] = 10;


//(b vaut 10) //text vaut ‘Bonjour Aston’ $courses[‘stylo’] = 20;
?> ?>
$c = $b + $a; Indices automatiques:
(c vaut 12) <?
$tableau[] = « a »;
?>
$tableau[] = 4;
$tableau[] = 17;
?>
PHP - Les variables tableaux

Une variable peut contenir une liste de valeur, qui sont alors
stockées sous forme de tableau.
Une variable devient tableau dès lors que l'on utilise le mot clé
array pour définir son contenu:
$tab=array( 45, 'toto');

ou en initialisant directement l'un de ses éléments :


$tab[2]=680.98;

Les éléments d'un tableau peuvent contenir n'importe quelle


valeur de n'importe quel type (y compris un tableau : la
variable devient alors un tableau à n dimensions) et
possèdent une clé (ou indice), qui peut être une valeur
numérique ou alpha numérique.
On parle alors de tableau associatif.
PHP - les variables tableaux (2)

On peut spécifier la clé (numérique ou pas) à l'initialisation :


$tab=array('paul'=>'renault', 54=>'ford', 'mercedes');
$tab['jean']='opel';
echo $tab['paul']; // affiche renault
echo $tab[0];// Attention ! : n'affiche pas 'renault' !!
echo $tab[55]; // affiche mercedes

Quand on n'indique pas de clé à l'élément lors de l'initialisation,


celle-ci prend alors automatiquement une valeur numérique (celle
immédiatement après la plus élevée).
$tab2=array( 45, 'toto');
echo $tab2[0]; // affiche 45
echo $tab2[1]; // affiche toto

$tab2[]=78; // indice automatique -> 2


echo $tab2[2]; // affiche 78
PHP - Manipulation de tableaux

Pour toutes variables tableau, PHP gère un "curseur" en interne,


qui pointe sur l'un des éléments du tableau. Par défaut, le
curseur pointe sur le premier élément.

Toute une série de fonctions PHP (prés de 60!) permet de


manipuler ce curseur et de parcourir un tableau facilement (voir
chapitre sur les boucles) :
reset($tab); // remet le curseur au début
$nombre=count($tab); // donne le nombre d'élément
$valeur=next($tab); /* avance le curseur et renvoi la valeur de
l'élément courant */
$valeur=prev($tab); /* recule le curseur et renvoi la valeur de
l'élément courant */
$elt=each($tab); /* renvoi l'element courant (sous forme de
tableau array(cle, valeur) et avance le curseur */
ksort($tab); // trie le tableau en fonction des clés
sort($tab); // trie le tableau en fonction des valeurs
PHP - Les constantes

Elles se définissent avec le mot clé define et s'utilisent avec leur


nom sans $ devant.

Exemple : <?
define('TAUX_EURO', 6.55957);

$prix_euro= $prix_franc / TAUX_EURO;


?>

La portée d'une constante est 'superglobale' (PHP >= v3) et les


valeurs peuvent être de tout type.

Ne pas confondre variable et constante. On ne peut


modifier la valeur d'une constante.
PHP – Variable de variable

Concept
•Utiliser une variable dont le nom est le contenu d’une variable
<?
$NomVariable = ‘Prenom’;
$$NomVariable = ‘Pierre’;

echo ‘bonjour ’.$Prenom;
// affiche ‘Bonjour Pierre’
?>

! Attention à la lisibilité du code lors de 
l'emploi de cette méthode
PHP – Opérateurs

Arithmétiques
+ Addition
­ Soustraction
* Multiplication
/ Division
% Modulo

Affectation combinée
+= $a+=$b $a = $a+$b
­= $a­=$b $a=$a­$b
*= $a*=$b $a=$a*$b
/= $a/=$b $a=$a/$b
%= $a%=$b $a=$a%$b
.= $a.=$b $a=$a.$b Concaténation
PHP – Opérateurs (2)

Incrémentation /
décrémentation
++$a $a++
­­$a $a­­

Négation
$a = true;
$b = !$a; ($b == false)

Référence
$a = &$b;
$a = 5;

$b a pour valeur 5
PHP – Opérateurs (3)

Comparaison
== Egal
!= Différent
<> Différent
< Inférieur
<= Inférieur ou égal
> Supérieur
>= Supérieur ou égal
Logiques! Les opérateurs sont court circuit
&&  et  à gauche
|| ou
and et (priorité inférieure)
or ou (priorité inférieure)
PHP – Opérateurs (4)

& et binaire
| ou binaire
~ non binaire
^ ou exclusif binaire
<< décalage à gauche
>> décalage à droite

Il est très rare d'avoir recours à ces opérateurs 
I
dans un contexte classique
PHP – Les blocs (if)

Test if
If ($condition){
   ...Traitement si vrai
}else{
   ...Traitement si faux
}

Exemple
If ($UtilisateurConnu){
   echo «Bienvenue $Utilisateur »;
   ...Contenu de la page...
}else{
   header ("location: http://monsite.fr/login.php");
   exit;
}
PHP – Boucle (while)

Boucle while
while ($condition){
   ...Traitement
}

Exemple ! Attention aux conditions de boucle 
$i = 0;
(boucles infinies)
$NotFinished = true;
while ($NotFinished){
   if (!isset ($Tableau[$i])){
      $NotFinished = false;
   }else{
      $Tableau[$i] = $Tableau[$i]*2;
      $i++;
   } Php aborde les pages trop longue à exécuter
}I
(paramétrage du fichier ini)
PHP – Boucle (for)

Boucle for
for (départ; condition; passage){
    Traitement unitaire  
}

Exemple
function TableMulti ($TableDe){
   for ($i=0; $i<=10; $i++){
      echo 'TableDe [' . $i . ']=' . $TableDe[$i] . "\n";
   }
}
PHP – Boucle (foreach)

Boucle foreach
Idéal pour parcourir des éléments de type tableau.

foreach ($Tableau as $Clef=>$ElementUnitaire){
   // $Clef référence l'indice du tableau
   // $ElementUnitaire référence la valeur de $Tableau[$Clef]
}

$Clef=> est facultatif

Exemple
function ShowTableau ($MonTableau){
   foreach ($MonTableau as $Key=>$Elem){
      echo 'Clef: '.$Key.' ­ Valeur: '.$Elem."<br/>\n";
   }
}
PHP - Structure de contrôle (switch)

Le mot-clé switch permet d'effectuer un traitement selon la valeur


d'une variable.
switch( <variable>) {
case <valeur1> :<traitement si variable=valeur1>
break;
case <valeur2> :
case <valeur3> : <traitement si variable=valeur2 ou
valeur3>
break;
default :
<traitement par defaut>
}

Exemple : switch($var){
case 'toto': echo "c'est toto !"; break;
case 'marc': echo "marc est là"; break;
default:
echo "connais pas";
}
PHP – Les fonctions

Fonctions
•Mot clef « function »
•Ne spécifie ni le type de retour, ni les types en entrée

<?
function Carre ($nombre=10) Possibilité de donner un 
Paramètre par défaut
{ De la droite vers la gauche
   return $nombre*$nombre;
}
echo "Le carré de 2 est : ".Carre(2);
?>
Cet exemple affiche « le carré de 2 est :4 »
PHP – « Php Objet »

Déclaration
•Mot clef « class »
•Pas de niveau d’accès, tout est « public ».
•Les variables de classes (propriétés) sont déclarées par « var »
•Mot clef « $this »
•Constructeur: méthode du même nom que la classe
<?
   class Carre {
      var $nombre;
      function Execute () {
         echo «  <br> ».$this­>nombre*$this­>nombre;
      }
   } 
?>
! Il est obligatoire de faire référence aux méthodes 
et propriétés de classe via '$this'
PHP – Objets (2)

Utilisation
•Mot clef « new »
•Pas de « delete » !
•Référence aux propriétés / méthodes par « ­> »

<?
   $ObjCarre = new Carre();
   $ObjCarre­>nombre = 10;
   $ObjCarre­>Execute (); // affiche 100.

   $AutreCarre = $ObjCarre; // ici copie
   $AutreCarre­>nombre = 2;
   $AutreCarre­>Execute (); // affiche 4.
   $ObjCarre­>Execute (); // Affiche 100.
?>
! Les objets sont implicitements passés en copie.
Il faut forcer un passage par référence si besoin.
PHP – Objets Héritage

Héritage
•Mot clef « extends »
Personne
•Pas d’héritage multiple
•Possibilité de surcharge
maFonction()
<?
   class Chef extends Personne {
      var $secretaire; // Personne 
      function maFonction () {
         Personne::maFonction();
         echo "prérogatives en plus";
      }
   }
?> Chef

secretaire
PHP – Formulaires

Avantages
Permettre à l'utilisateur de saisir des données libres

Interactivité

              Mise en oeuvre facile

Développement Compatibilité
PHP – Formulaires (2)

Page « interface »
Formulaire HTML classique
Les variables reçues porteront le nom des champs

Exemple

<form name="saisie" action="traitement.php"


method="GET">
Nom : <input type="text" name="nom" /><br />
Prénom : <input type="text" name="prenom" /><br />
<input type="submit" value="Valider" />
<input type="reset" value="Effacer" />
</form>
PHP – Formulaires (3)

Page « réception »
Variables automatiquement globales
   si register_globals = true; (php.ini)

Dans les variables spécifiques Php
   HTTP_GET_VARS, HTTP_POST_VARS
   ( _GET, _POST depuis Php 4.1.0 )

Le « Php group » recommande aujourd'hui l'emploi
I de _GET et _POST, puis de définir register_globals à false
PHP – Formulaires (4)

Page « réception », exemple


<?
   if (!isset ($_POST['nom'])){
      echo "Le formulaire n'a pas été reçu correctement";
   }else{
      echo 'Bonjour '.$_POST['nom'];
   }
?>
Il est souvent préférable de tester l'ensemble des valeurs
I attendues pour des raisons de sécurité. 
(utilisateurs mal intentionnés)
PHP - Les formulaires exercice 1

Objectifs :

Ecrire une page HTML reprenant le formulaire de l'exemple


précédent et la page php01_b.php qui va récupérer les
informations saisies et les afficher.

Vous essaierez avec les méthodes GET, POST .


PHP – Formulaires, exercice

Objectifs :

Ecrire une page PHP affichant un formulaire demandant un login


/ mot de passe. Apres envoi du formulaire, cette page devra
vérifier la saisie et rediriger vers php02_b.php si le login est bon.
Cette dernière affichera le login saisie.
Si le login est faux, le formulaire sera afficher à nouveau avec un
message d'erreur.

php02_b.php

php02_a.php
PHP – Dialogue application<-> serveur web

Le dialogue peut se faire dans le sens serveur web => navigateur:

•en générant du code HTML : echo() ou print()


•en modifiant l'en tête HTTP de la page générée pour par
exemple forcer le download de fichier ou effectuer des
redirections.
<?
// redirection vers la page autrepage.php
header("location: autrepage.php");
?>

• En envoyant des cookies. (fonction setcookie ; cf chapitre sur


les cookies)

La modification de l'en-tête HTTP et l'envoi de cookie doit


se faire avant tout code HTML, echo() ou print()
PHP – Base de Données

Pourquoi ?
• Stockage permanent des saisies formulaire
• piocher dans de gros volumes de données Php
• intégration avec systèmes existants


structuration

persistence

intégrité SGBD

sécurité

requêtes
Support
• Adabas, Dbase, DBM, ICAP, Informix, SQL serveur, MSQL, 
MySQL, ODBC, Oracle, PostgreSQL, Sybase.

• Support natif de MySQL
PHP – BD, Utilisation

Connexion
<?
$IdConnexion = mysql_connect (« host », « user », « password »);
?>
$IdConnexion pourra être réutilisé par la suite lors des requêtes, 
   c'est un identifiant de connexion

En règle générale, les fonctions de connexion 
I
aux bases de données sont de la forme
BD_connect ();
PHP – BD, Utilisation (2)

Interrogation
<?
$IdRequete = mysql_db_query (‘test’, ‘select * from employe’);
//  Cette fonction est obsolète

 // ­­­ ou mieux: ­­­
mysql_select_db (‘test’);
$IdRequete = mysql_query (‘select * from employe’);
?>

$IdRequete est un identifiant de requête, 
il poura être utilisé pour le parcours des résultats.

! Les « select * », bien que pratiques, sont dangereux 
à utiliser. (casse et ordre des champs, performances)
PHP – BD, Utilisation (3)

­ Lecture et retour de l'enregistrement
Parcours ­ Pointe sur l'enregistrement suivant
• mysql_fetch_assoc (); ­ Retourne false en fin de parcours
Un tableau associatif avec le nom des champs
• mysql_fetch_row ();
Un tableau indicé dans l'ordre des champs
• mysql_fetch_object();
Un objet dont les prop. sont les noms des champs

Exemple
while ($row = mysql_fetch_object ($IdRequete)) {
   echo $row­>champ1;
}

while ($row = mysql_fetch_row ($IdRequete)) {
   echo $row[0];
}

while ($row = mysql_fetch_assoc ($IdRequete)) {
   echo $row["champ1"];
}
PHP – MySql

Restrictions
•Non respect des clefs étrangères
•Requêtes imbriquées impossibles
•Gestion des droits limité

Fonctions utiles
DATE_FORMAT – formatage de la date
 SELECT DATE_FORMAT("%d­%m­%Y") la_date FROM maBase;

Cryptage d'une information (e.g. : pour stocker les mots de passe)
 PASSWORD ("chaîne à crypter");
PHP – Sessions

Avantages
•Conserver des données d’une page à l’autre
•Très simple d’utilisation
Pour placer un objet en session, il doit être déclaré avant son démarrage
Les modifications aux variables de session sont enregistrées automatiquement

Fonctions...
session_start () 
démarrage de la session
session_register ()
enregistrement d'une variable en session
session_unregister () 
déréférencement d'une variable de session
session_destroy ()
détruit la session de l'utilisateur actuel
PHP – Sessions, exemple

Page1.php
<? 
session_start (); // crée la session si inexistante
$valeur = 10;
session_register ("valeur"); // stocke $valeur dans la session
$valeur = 20;
?>
Page2.php
<?
session_start ();
echo $valeur; //affiche 20.
?>
PHP – Cookie

Avantages
•Placer des données (non sensibles) côté client
•Cibler les attentes de l'internaute

Fonctions...
Setcookie («nom_cookie », valeur_cookie);
Définition du cookie et de sa valeur

$HTTP_COOKIE_VARS[«nom_cookie »]
Permet de tester la valeur du cookie.
Pour supprimer un cookie, faire un setcookie ("nom_cookie") en 
ne spécifiant aucune valeur.
PHP – Cookies, exemple

<? 
$Last = false;
if (isset ($HTTP_COOKIE_VARS['date_connexion'])){
   $Last = $HTTP_COOKIE_VARS['date_connexion'];
}

setcookie ('date_connexion', date ("d­m­Y H:m:s"));
if ($Last)
   echo "Votre dernière connexion: ".$Last;
?>
PHP - Les cookies

La fonction setcookie :
int setcookie ( string name [, string value [, int expire
[, string path [, string domain [, int secure]]]]])

Name : nom du cookie


value : valeur stockée (vide : le cookie est détruit)
expire : date d'expiration du cookie (sans date : cookie de session)
la date est au format "Unix timestamp" (nombre de secondes depuis le
01/01/1970) que l'on peut obtenir avec mktime() ou time().
path : chemin du répertoire où est valide le cookie ( par defaut: le
chemin de la page qui fait le setcookie)
domaine : nom du domaine où est valide le cookie
secure : indique si le cookie est sécurisé
La création d’un cookie doit se réaliser avant tout envoi HTML
au poste client, l’en-tête de la réponse HTTP étant modifié...
PHP - Les cookies

Pour récupérer les valeurs de cookie, cela se passe comme


toutes variables prédéfinies.
• Soit PHP crée des variables individuelles automatiquement en
début de page
• soit on retrouve les valeurs dans les tableaux
$HTTP_COOKIE_VARS[] ou $_COOKIE[] (version > 4.1.0)

Pour modifier le contenu d'un cookie, il faut réutiliser la fonction


setcookie()
<?
/* crée un cookie ayant pour nom "societe" et pour valeur "aston"
il est valide 15 jours et est accessible sur toutes les pages
du site */
setcookie("societe","aston",time()+60*60*24*15,"/");
?>
PHP - Les cookies

Objectifs :
Ecrire une page PHP de saisie de login/mot de passe, qui vérifie la
validité de la saisie. Si le login est bon, créer un cookie contenant un
nombre indiquant que l'utilisateur est bien identifié et une autre
contenant le login. Faire une deuxième page qui vérifie la présence des
cookies : elle affichera alors un message avec le login si c'est ok, ou
redirigera vers la page d'identification le cas échéant.
Essayer avec des cookies de session (sans date de validité) et des
cookies normaux.

php03_b.php

php03_a.php
PHP – Images, rappels

Les formats...
•JPEG – Idéal pour les images complexes (photographie)

•GIF – Idéal pour les images simples (graphes, texte, ...)
Le format gif est payant. 
(les logiciels qui génèrent du gif doivent payer une licence)

•PNG – « Amélioration » du format gif, gratuit.
Pas de perte de données.
PHP – Images, génération

Génération en 4 étapes
1 – Création d'une zone de dessin
   ImageCreate ($largeur_px, $hauteur_px)
   ImageCreateFromPNG/JPEG/GIF ($FileName)

2 – Dessin (textes / formes) dans la zone.
   Allocation des couleurs : ImageColorAllocate ($img, $R, $V, $B)
   ImageLine ($img, $startx, $starty, $width, $height, $color)
   ImageString ($img, $police /*entier*/, $startx, $starty, $txt, $color)
   ImageRectangle ($img, $x, $y, $long, $haut, $color)
   ImageFilledRectangle ($img, $x, $y, $long, $haut, $color)

3 – Génération de l'image
   ImagePNG/JPEG/GIF($img, [$filename])

4 – Libération des ressources.
   ImageDestroy ($img)
PHP – Upload de fichier

Coté client
Une zone fichier dans le formulaire.
<input type='file' name='fichier'>

Un formulaire « enctype/multipart »
  <form enctype='multipart/form-data' method='post'>

Coté serveur
  if (is_uploaded_file ($fichier)){//réussite de l'upload ?
      move_uploaded_file ($fichier,'./destination/'.$nom_fichier);
        //déplacement de l'upload
   }

Il est nécessaire de donner à Php les droits 
I
d'écriture à « destination ».
PHP – Les templates

Objectif
Dissocier les traitements de la présentation.

Principe
Page Php Fichier 
Traitement
préparation  template
des données Code HTML

Objet template Rapprochement 
des donneés

Résultat
PHP – Les templates (2)

Avantages
Travail avec des graphistes
Possibilité de modifier l'aspect de l'application sans l'endommager
Possibilité de profiter des outils de présentation

Quelques noms
PhpLib
Xtemplate
FastTemplate
Phtemplate

Modelixe (modelixe.phpedit.com)
Smarty (smarty.php.net)
Solutions évoluées
PHP – Les templates (3)

Solutions évoluées
Cache de templates
Cache de données
« Language » de programmation (conditions, boucles, ...)
Traçage des données, déboggage
PHP – Les templates (4)

Exemple standard
Page.php
<?php
$tplObj = new Template();
$tplObj­>assign («Variable », « Test » );
$tplObj­>display («fichier_tpl.tpl » );
?>

Fichier_tpl.tpl
Page résultante <HTML>
<HTML> {$Variable}
Test </HTML>
</HTML>
PHP – Php.ini

Role
Il est possible de paramétrer de nombreux aspect de Php 
au travers du fichier php.ini

Paramètres
Magic_quotes_gpc (on) Ajout automatique de slashes devant 
les caractères spéciaux Sql

short_open_tag (on) Permet l'emploi de <? au même titre
que <?php

output_buffering (4096) Permet de bufferiser la sortie Php. 
Une sortie bufferisée permet de définir 
des informations d'en tête après avoir écrit 
des informations dans le corps.
PHP – Php.ini (2)

Paramètres... suite
max_execution_time (30)
Temps maximum d'exécution autorisé pour une page.
Passé ce délais, le script est abordé.

memory_limit (8M)
      Ressource mémoire maximale pour un script donné.

error_reporting
      Les types d'erreurs a signaler.
display_errors
      Faut il afficher les messages d'erreur ?

register_globals (off >= 4.2.0 on <= 4.1.0)
   s'il faut déclarer automatiquement les variables globales GPC
PHP – Php.ini (3)

Paramètres... et fin
include_path
   les chemins d'inclusion à parcourir.

file_uploads (on)
   Permission d'uploader des fichiers.
upload_max_filesize (2M)
   Taille macimale des fichiers uploadés.

session.save_path 
   Chemin où sauvegarder les fichiers de session.
session.autostart (off)
   démarrage automatique des sessions

mysql.allow_persistent (1)
   Autorisation de créer des connexions persistentes.
PHP – >= 4.1.0

La version 4.1.0 de Php intègre plusieurs variables 
implicitement globales (destinées à remplacer les variables
 désormais obsolètes $HTTP_X_VARS)

_SESSION (variables de session)
_GET (variables get)
_POST (variables post)
_REQUEST (rassemblement de post + get + cookie)
_COOKIE (données provenant des cookies)
_SERVER (contient les variables serveur (ex: REMOTE_ADDR))
_ENV (variables d'environnement)
Sites sur PHP
• www.php.net : le site officiel de php. Très utile pour la
documentation en ligne (en anglais, français…)
• www.zend.com : le site de la société à l'origine de la
refonte du moteur de PHP4.
• www.phpinfo.net : site d'information avec de
nombreux tutoriaux/scripts et un forum très actif
(français)
• www.phpindex.com : autre site d'information
(français)
• www.phpbuilder.com : site d'information avec de
nombreux tutoriaux et scripts (anglais)
• www.allhtml.com: portail dédié aux webmasters
traitant tout les langages : HTML, PHP, javascript etc…
(français)
• dev.nexen.net : manuels en français PHP et MySQL
PHP – Vers la version 5

La version 5 de Php, en cours d'élaboration, 
sera basé sur la ZendEngine 2 et verra naitre nombres d'évolutions.

• Support plus avancé de l'objet.
• Constructeurs / Destructeur
• Passage par référence automatique des objets
• Différentiation de la casse (systématique)
• Gestion des exceptions

Vous aimerez peut-être aussi