Language PHP
Langages Interprétés
Généralement le processus de dévoleppement d'un programme comprend les étapes suivantes :
- Édition du texte du programme
- Compilation du code objet à partir du texte édité
- Édition des liens symboliques
- Génération du programme exécutable
Pour ce qui conserne le script, celui-ci décrit les étapes et les commandes à exécuter au cours du processus. Les premiers langages étaient souvent appelés langage de commande ou langage d'enchaînement des travaux (JCL : Job Control Language).
Donc au sens le plus traditionnel, qui est celui des shell scripts, un script sert principalement à lancer et coordonner l'exécution de programmes. Dans sa version la plus simple, un script n'est qu'une suite de tâches à exécuter dans l'ordre. A partir du moment où apparaît la possibilité d'y adjoindre des variables, des paramètres, des structures de contrôle (répétition, exécution conditionnelle), etc., les langages de scripts deviennent de vrais langages de programmation.
Par extension, "langage de script" désigne quelquefois n'importe quel langage de programmation interprété, tel que Basic, PHP, Perl, Python, Lisp, JavaScript, etc., contrairement aux langages compilés comme C, C++, Java, etc.
PHP est un language de programmation interprété (des scripts), exécuté côté serveur.
Le language répond à des critères spécifiques sous forme de scripts. Chaque instruction est un mot réservé que l'interpréteur reconnaît.
Exemple : "print" permet d'afficher du texte ou le résultat d'une opération ou autre chose.
Le script PHP commence toujours par :
<?php
et se termine par :
?>
Entre ces deux bornes, les instructions sont données à l'interpréteur gràce aux mots réservés.
Les plus utilisées sont :
print("Chaîne de caractères" );
echo("Chaîne de caractères" );
if(paramètres){ }
elseif(paramètres){ }
else{ }
switch(paramètres){
case "argument":
break;
}
for(){ }
Ces fonctions attendent et reçoivent des paramètres entre les parenthèses pour fonctionner.
Exemple de script PHP
if($prix == 24){
print("Voilà le prix:" . $prix);
}
?>
Autre possibilité, un raccourcis de "echo"
Pour celui qui connaît le C ou le Perl, le PHP ne devrait pas poser de problème. Pour les autres, cette connaissance n'est nullement obligatoire bien que favorisante. Par contre, la maîtrise du HTML est plus que recommandée.
C'est un langage parfaitement adapté pour l'utilisation des bases de données.
À sa première apparition, le PHP était prévu pour la maintenance de Pages d'accueils. Il est passé du stade d'un ensemble d'utilitaires à celui de Langage de programmation.
En 1994, Rasmus Lerdorf, qui en est le créateur, le présenta d'abord sous la forme de Macros de publication de Page Web Personnel (Personal Home Page).
L'ensemble fût réécrit afin d'inclure un package d'interprétation. C'était la véritable naissance du langage. Plus tard, Zeev Suraki et Adi Gutmans réécrivirent l'ensemble pour une toute nouvelle partie d'analyse dans le langage.
PHP supporte aussi bien Apache® que MySQL®, d'où sa grande popularité.
Note
Le code ASCII est un standard connu de tous les systèmes informatiques. Celui-ci utilise les valeurs numériques de 32 (25) à 128 (27).
Variables
En PHP, tous les noms de Variable sont précédés du signe dollar ($). Ce signe dollar doit être suivi d'un caractère alphabétique ou d'un soulignement.
Sa longueur n'a pas de limite.
Nul besoin de déclaration préalable, et n'importe quel type de valeur peut y être déposé.
Types de données
Trois types :
Nombres entiers
Nombres décimaux
Chaînes
Il existe aussi deux types de données composites :
Les Tableaux
Les Objets.
Entiers
Les valeurs supérieures sont converties en nombres décimaux automatiquement. L'expression peut être en décimal (base 10), hexdécimal (base 16) ou en octal (base 8).
Exemple :
$decimal = 16; $hexa = 0x10; $octa = O20;
Décimaux
Exemple :
$nombre = 0.017;
ou
$nombre = 17.0E-3;
Chaînes
Exemple :
'Ma Zone Web';
ou
"Vous aide"
Tableaux
Exemple :
$nomvar[0] = "Ma Zone Web "; $nomvar[1] = "Vous aide";
Objets
Création de la classe
var $chaine = "Salut !";
function init($chaine) {
$this->chaine = $chaine;
}
}
Puis création de l'objet
$test = new mazone();
Structures de contrôle
Une structure de contrôle modifie le comportement d'un programme (PHP ou autre langage), ce qui correspond à une prise décision.
Cela peut être visible, mais aussi complètement à l'insu de l'utilisateur.
if
Se retrouve dans tous les langages de programmation.
if(expr) {instructions}
elseif(expr) {instructions}
else {instructions}
switch
Se retrouve dans tous les langages de programmation.
switch(expr) {
case expr:
instructions
break;
default:
instructions
break;
}
while
Se retrouve dans tous les langages de programmation.
while(expr) {
instructions
}
L'expression est vérifiée avant le démarrage de chaque itération. Si celle-ci est true, instruction est exécutée, sinon le programme saute à l'instruction suivant la boucle.
do / while
Se retrouve dans tous les langages de programmation.
do{
instructions
} while(expr)
L'expression est vérifiée aprè la première exécution de instruction. Si celle-ci est true, l'itéraion continue, sinon le programme exécute instruction et saute à l'instruction suivant la boucle.
for
Se retrouve dans tous les langages de programmation.
for(deb_expr; condit_expr; iterat_expr) {
instructions
}
deb_expr : donne une valeur de départ au compteur.
condit_expr : sert à évaluer et contrôler l'itération.
iterat_expr : fait évoluer le compteur.
Le programme saute à l'instruction suivant la boucle quand condit_expr est atteinte.
foreach
Boucle pour tableaux
1ère forme
//commandes
}
2ème forme
//commandes
}
Fonctions
Une Fonction est une partie d'un programme, isolée par rapport à celui-ci. Elle comporte un nom qui
l'identifie.
Cette séquence de code ne fonctionne que dans ses propres limites et quand elle est appelée.
Il existe des fonctions internes à PHP, mais l'utilisateur peut en créer autant qu'il le désire, selon ses nécéssités.
Son fonctionnement passe le plus souvent inaperçu.
Création d'une Fonction
Se retrouve dans tous les langages de programmation.
Le mot clé Function défini la fonction.
Exemple :
function multiplication ($multiplicateur, $mutiplicande){
return $multiplicateur * $multiplicande;
}
Son utilisation dans le code serait :
multiplication (256,12);
Ce qui donne à l'écran :
3072
Portée des variables
Une variable définie dans le corps principale d'un programme, a une portée globale.
Une variable déclarée à l'intérieur d'une fonction n'est disponible que dans celle-ci.
Pour la rendre utilisable hors d'une fonction ou d'une classe, il est indispensable de la déclarer avec le mot clé global.
Exemple :
Déclaration de la fonction
function montest(){
global $mavariable;
echo $mavariable;
}
Utilisation dans le corps du programme.
$mavariable="Mon chaleureux bonjour à tous !";
montest();
Gestion de fichiers texte
Le PHP permet entre autre de gérer des fichiers texte. Un certain nombre de fonctions permettent de créer, de lire, de modifier ou de supprimer des fichiers texte. Avec une gestion facile à mettre en place, en PHP les fichiers texte sont une bonne alternative aux bases de données pour des applications simples.
1. Ouvrir un fichier
Afin d'effectuer les opérations de création et de modification d'un fichier, il faut tout d'abord ouvrir une "connexion" (pointeur) vers le fichier concerné. Ceci s'effectue à l'aide de la fonction fopen ayant pour paramètres le nom du fichier à ouvrir (ainsi que son chemin s'il n'est pas dans le même répertoire que le script) et le mode d'accès. La fonction retourne le pointeur vers le fichier.
Syntaxe : int fopen(chaîne nomdufichier, chaîne mode)
Les différents modes d'accès
Code | Mode d'accès |
---|---|
r | Lecture seule (place le pointeur au début du fichier) |
r+ | Lecture et écriture (place le pointeur au début du fichier) |
w | Ecriture seule (place le pointeur au début du fichier et réduit la taille du fichier à 0). S'il n'existe pas, le fichier est créé. |
w+ | Lecture et écriture (place le pointeur au début du fichier et réduit la taille du fichier à 0). S'il n'existe pas, le fichier est créé. |
a | Ecriture seule (place le pointeur à la fin du fichier). S'il n'existe pas, le fichier est créé. |
a+ | Lecture et écriture (place le pointeur à la fin du fichier). S'il n'existe pas, le fichier est créé. |
2. Lecture d'un fichier
Une fois le fichier ouvert en lecture, la lecture de celui-ci s'effectue avec la fonction fread. Cette fonction permet de stocker le contenu d'un fichier dans une variable (afin de permettre un traitement sur ce contenu ou simplement un affichage) et a pour paramètres le pointeur de fichier et la longueur (en octets) du fichier ou de la partie du fichier à lire.Elle retourne le texte lu.
Syntaxe : chaîne fread(int pointeur, int longueur)
Exemple
$contenu = fread($fichier, 1024);
Note :
Cet exemple ne lit que les 1024 premiers octets du fichier. Pour lire le fichier en entier, il suffit de se servir de la fonction filesize retournant la taille du fichier (Cette fonction accèpte comme paramètre le nom du fichier et non le pointeur).
Exemple
$contenu = fread($fichier, filesize("monfichier.txt"));
3. Ecriture dans un fichier
Pour écrire dans un fichier, il faut tout d'abord l'ouvrir en écriture (fopen).
Ensuite, l'insertion de texte dans un fichier se fait à l'aide de la fonction fwrite.
Cette fonction a pour paramètres le pointeur du fichier et le texte à insérer.
Exemple
$erreur = fwrite($fichier, "Contenu à insérer dans le fichier");
4. Fermeture d'un fichier
Après avoir ouvert un fichier pour le lire ou le modifier, il faut bien évidemment le fermer. Cette action est assurée par la fonction fclose qui a pour paramètre le pointeur du fichier ouvert.
Exemple
$erreur = fclose($fichier);
5. Suppression d'un fichier
Il est possible en PHP de supprimer physiquement un fichier sur le serveur grâce à la fonction unlink ayant comme paramètre le nom du fichier à supprimer (éventuellement le chemin du fichier).
int unlink(chaîne nomdufichier)
Exemple
$erreur = unlink("monfichier.txt");
$erreur = unlink("../monrepertoire/monfichier.txt");
Note :
Pour utiliser ces fonctions, il faut bien entendu avoir les droits de lecture et d'écriture sur les fichiers et sur les répertoires les contenant.