Upload
regis-lutter
View
243
Download
3
Embed Size (px)
DESCRIPTION
Cours de PHP/MySQL pour l'IEF (Institut Européen de Formation) Première partie des cours de développement PHP : - Environnement de développement - Hello world ! - Syntaxe PHP - PHP et HTML - Instructions PHP - Les variables - Déclaration des variables - Variables locales - Variables globales - Tester l'existence d'une variable - Détruire une variable - Variables dynamiques - Constantes - Types de données - Trouver le type d'une variable - Booléens (Boolean) - Entiers (Integer) - Nombres flottants (Float) - Chaînes de caractères (String) - Les Cast - Conversion de valeurs - Opérateurs - Opérateurs d'affectation - Opérateurs d'arithmétiques - Incrémentation/Décrémentation - Opérateurs combinés - Concaténation - Opérateurs de comparaison - Opérateurs logiques - Priorités des opérateurs - Conditions (if et switch)
Citation preview
LES BASES DE PHPON ATTAQUE LE DÉVELOPPEMENT
Environnement de développement
Serveur Apache
Base de données MySQL
PHP
!
Windows : http://www.wampserver.com/
Mac : http://www.mamp.info/en/index.html
Linux : http://doc.ubuntu-fr.org/lamp
EXERCICESINSTALLATION DE WAMP/LAMP/MAMP + ACCÉDER À LOCALHOST ACCÉDER À PHPMYADMIN
Résumé du coursSyntaxe de base
Structure
Variables et constantes
Tableaux
Fonctions
Cookies et sessions
Hello World !
<?php echo(‘Hello world !’); ?>
<?php echo ‘Hello world !’; ?>
<? echo ‘Hello world !’; ?>
<?= ‘Hello world !’ ?>
La syntaxe PHP
Balise ouvrante : <?php
Balise fermante : ?>
Commentaires : <?php // Code PHP ?>
Commentaires sur plusieurs lignes :
/* Code PHP
sur plusieurs lignes */
PHP et HTML<p>Ceci sera ignoré par PHP et affiché au navigateur.</p>
<?php echo 'Alors que ceci sera analysé par PHP.'; ?>
<p>Ceci sera aussi ignoré par PHP et affiché au navigateur.</p>
PHP ET HTML
PHP et HTML : Le retour<?php if ($expression == true): ?>
Ceci sera affiché si l'expression est vrai.
<?php else: ?>
Sinon, ceci sera affiché.
<?php endif; ?>
Instructions PHP<?php
echo 'Ceci est un test';
?>
<?php echo 'Ceci est un test' ?>
<?php echo 'Oubli de la balise fermante';
Les variables
L’ossature de la programmation
Typage faible
Types : Entier (Int), Booléen (Bool), String, etc.
Portée temporaire
Déclaration de variables
Sans espace
Commence toujours par $
Suivi par une lettre ou un underscore « _ »
Caractères alphanumériques ou underscore
Sensible à la casse $var != $vAr
Déclaration de variables
$texte = ‘contenu’;
$chiffre = 10;
$flotant = 23.5;
$tableau = array(‘yoda’, ‘obiwan’, ‘chewy’);
Variables locales
Existes uniquement dans le contexte de création
A passer en paramètres dans les fonctions
Les variables d’autres fonctions ne peuvent pas être utilisées par défaut (locales ou globales)
Variables globales
A passer dans le tableau $GLOBALS[ ]
Exemple : $GLOBALS[‘variable’] pour appeler la variable globale $variable
A utiliser avec parcimonie
Variables globales
Déclaration hors des fonctions
et déclaration obligatoire dans les fonctions : global $titre, $auteur;
Tester l’existence
Fonction isset($mavariable);
Retourne un booléen si la variable existe
Détruire une variable
Fonction unset($variable);
La variable n’existe plus immédiatement après l’appel
Variables dynamiquesLe nom d’une variable peut aussi être une variable
$force = ‘sith’
$jedi = ‘good guy’
$sith = ‘bad guy’
echo $$force; // Affiche bad guy
echo ${‘j’.’edi’}; // Affiche good guy
Constantes
Doivent être déclarées avec la fonction define(‘NOM’, ‘Yoda’);
Convention de nommage en majuscules
Pas de $ devant le nom
Ne peuvent pas changer de valeur
Types de données
Booléens (boolean)
Entiers (integer)
Nombres flottants (double, float)
Chaînes de caractères (string)
Trouver le type
Fonction gettype($var) retourne directement le type
Fonction is_string($var) permet de savoir si il s’agit du type string
Il existe aussi is_double(), is_float(), is_int(), is_integer(), is_boolean(), is_array(), is_null(), is_object() et is_resource
Booléens (boolean)
Valeur vraie ou fausse avec les mots-clés « true » et « false ».
Ces mots-clés sont insensibles à la casse.
Entiers (integer)Peuvent être mis directement dans le code (précédés de - pour les entiers négatifs)
Attention, un entier démarrant par « 0 » sera interprété sur une base octale et « 0x » en hexadécimale :
24 = 24
024 = 20
0x1A = 26
La taille dépend de la plateforme, mais la valeur maximum est d’environ de 2 milliards sur du 32 bits
Nombres flottants (double, float)
Peuvent être mis directement dans le code
Atteignent une valeur de plus de 4 milliards (en 32 bits) ou comporte une partie décimale
La décimale est marquée par un point (Ex : 4.3)
Ou ils peuvent avoir un exposant e (Ex : 5e7)
Les nombres à virgules sont approximatifs
Chaînes de caractères (string)
Délimitées par des guillemets " "
Entre guillemets, les variables sont directement interprétées
Caractère d’échappement : \
Echappements spéciaux : \n, \r, \t
Chaînes de caractères (string)
Délimitées par des guillemets ‘ ‘
Seuls les apostrophes ‘ et les \ sont à protéger (avec \ )
Les variables, échappements spéciaux, etc. ne sont pas interprétés
Cast
Permet de changer le type d’une variable
Mettre entre parenthèse le type voulu devant la variable : $x = (integer) $y;
Conversion des valeurs
inval($var) : Retourne la valeur en integer
floatval($var) : Retourne la valeur en float
strval($var) : Retourne la valeur en string
SUPERGLOBALES$_SERVER
$_GET[ ]
$_POST[ ]
$_FILES[ ]
QUESTIONS ?
QUELQUES EXERCICESDÉCOUVRIR LES VARIABLES
NOMS DES VARIABLES1 : 1VARIABLE 2 : $VARIABLE 3 : $VARIABLE 1 4 : $1VARIABLE 5 : $VARIABLE-1 6 : $_VARIABLE_1
VALEURS$X = ‘YODA’; $Y = ‘ANAKIN’; $Z = &$X; $X = ‘LUKE’; $Y = $X; !QUELS SONT LES VALEURS DE $X, $Y ET $Z ?
GLOBALES$X = ‘YODA’; $Y = ‘ANAKIN’; $Z = &$X; $X = ‘LUKE’; $Y = $X; !FUNCTION FORCE(){ // AFFICHER LES VALEURS DES VARIABLES } FORCE();
TYPES$X = ‘YODA’; $A[] = &$X; $Y = ‘ANAKIN’; $Z = $Y*10; $X .= $Y; $Y *= $Z; $A[0] = ‘OBIWAN’;
CAST$X = ‘7 CLONES’; $Y = (INTEGER) $X; $X = ‘9E3’; $Z = (DOUBLE) $X; !DONNER LES VALEURS DES VARIABLES
Opérateurs
Permet de définir et de manipuler les variables
Permet la création des structures de contrôle
Opérateurs d’affectation
Affectation avec = (égal)
Ex : $var = ‘Linux’;
Ex : $j = $i = 5;
Opérateurs d’affectation
L’affectation est par défaut une copie
Ex : $x = 1; $y = $x + 1;
$x vaut 1 et $y vaut 2
Opérateurs d’affectation
On parle de référence avec l’opérateur =&
Ex : $x = 1; $y =& $x; $y = $x + 1;
$x vaut 2 et $y vaut 2
La fonction unset() efface les références
Opérateurs d’arithmétiques
Addition : +
Soustraction : -
Multiplication : *
Division : /
Modulo : %
Incrémentation / Décrémentation
Incrémentation : ++
Décrémentation : - -
$i = $i + 1; équivaut à $i++;
Peuvent être présents avant ou après :
$i++ ou $++i;
Opérateurs combinés+= : Ajoute la valeur de droite à la valeur de gauche et la place dans la variable de gauche.
-= : Soustrait la valeur
*= : Multiplie la valeur
.= : Concatène les valeurs
Pour tous les opérateurs $x X= $y équivaut à $x = $x X $y
Concaténation
Concaténation : . (point)
Concaténation et assignation : .=
Opérateurs de comparaison
Sont utilisés pour des structures conditionnelles
Renvoient TRUE ou FALSE
Egal à : ==
Inférieur à : < / Inférieur ou égal à : <=
Supérieur à : > / Supérieur ou égal à : >=
Opérateurs de comparaison
Différent de : !=
Strictement égal (valeur et type) : ===
Différent en valeur ou en type : !==
OPÉRATEURS DE COMPARAISON$A = ’34’; $B = 34; $A == $B; // RENVOIE TRUE $A === $B; // RENVOIE FALSE !$A = 1; $B = TRUE; $A == $B; // RENVOIE TRUE $A === $B; // RENVOIE FALSE
Opérateurs logiques! : ne renvoie pas TRUE.
&& : Les deux valeurs renvoient TRUE
^ : Seule une des deux valeurs renvoie TRUE
| | : Une des deux valeurs renvoie TRUE
AND : Les deux valeurs renvoient TRUE
OR : Une des deux valeurs renvoie TRUE
XOR : Seule une des deux valeurs renvoie TRUE
Priorités des opérateurs( ) [ ]
- - ++ !
* / %
+ -
< <= => >
== != ===
&&
| |
Affectation et opérateurs combinés (= += -= etc.)
AND
OR
Conditions
if( // condition ){ // code }
if( // condition ){ // code }else{ // code}
if( // condition ){ // code }elseif( // condition ){ // code }elseif( // condition ){ // code }else{ // code}
Conditions
if( // Condition ) :
// Code
endif;
Conditions
( // Condition ) ? // Code true : // Code false ;
Conditionsswitch($var){
case 4: break;
case 2: ;
case 3: break;
case 1: break;
default: break;
}
QUESTIONS ?
QUELQUES EXERCICESMANIPULER LES CONDITIONS DE LA FORCE