Types de données PHP

PHP propose quatre types de données scalaires (ne pouvant contenir qu’une valeur), deux types composés (pouvant contenir plusieurs valeurs) et deux types spéciaux :

Types scalaires :

Types de données Description
Entier Le type entier (integer) permet de stocker un nombre entier signé sur 32 bits, soit des valeurs comprises entre -2 147 483 648 et +2 147 483 647.
Nombre à virgule flottante Le type nombre à virgule flottante (float) permet de stocker un nombre décimal sur une plage de valeurs dépendante de la plate-forme (généralement de l’ordre de 10-308 à 10+308).
Chaîne de caractères Le type chaîne de caractères (string) permet de stocker toute séquence de caractères sur un octet (code ASCII compris entre 0 et 255), sans limite de taille.
Booléen Le type booléen (boolean) peut prendre deux valeurs : TRUE (ou true) et FALSE (ou false).

Types composés :

Types de données Description
tableau Suivez ce lien : En cours de préparation
objet Suivez ce lien : En cours de préparation

Types spéciaux :

Types de données Description
NULL Le “type” NULL est un peu particulier et correspond au type d’une variable utilisée sans jamais avoir été initialisée.
ressource Le type ressource correspond à une référence vers une ressource externe : fichier ouvert, connexion de base de données, etc.

 

Les variables php

Les variables en PHP

Définition

Une variable est une zone mémoire identifiée par un nom qui contient une valeur lisible ou modifiable dans le programme.

Initialisation et affectation

Les variables en PHP sont identifiées par le préfixe $ suivi du nom de la variable.

Le nom des variables est sensible à la casse : $prenom et $Prenom sont vues par PHP comme deux variables différentes.

Les variables PHP sont :

  • Automatiquement définies lors de leur première utilisation.
  • Typées automatiquement; lors de chaque affectation d’une valeur à une variable, le type de la variable est automatiquement défini ou redéfini
Une valeur peut être affectée à une variable grâce à l’opérateur d’affectation “=”

Exemple:

Résultat:

$prenom = Mehdi $prenom = 12345

Portée et durée de vie

La portée d’une variable (Variable scope en anglais) est le script dans lequel elle est définie. Une variable peut donc être définie dans une première section de code PHP et utilisée dans une autre section de code PHP du même script.

La durée de vie d’une variable (variable life cycle en anglais) est le temps de l’exécution du script. Lorsque le script se termine, les variables sont supprimées. Si le même script est appelé plus tard, de nouvelles variables sont définies.

 

Les constantes en php

Les constantes en PHP

Définition

Tout comme une variable, une constante stocke une valeur mais, contrairement à une variable, cette valeur est fixée “une fois pour toutes” et ne peut plus être modifiée à un autre endroit du script. Par convention, on écrit les constantes en majuscules.

La fonction define ou le mot-clé const (depuis la version 5.3) permettent de définir une constante.

Syntaxe

booléen define(chaîne nom, mixte valeur[, booléen sensible_casse)

const nom = valeur

nom Nom de la constante.
valeur Valeur de la constante.
sensible_casse Indique si le nom de la constante est sensible à la casse (TRUE – valeur par défaut) ou non (FALSE).
  • La fonction define retourne TRUE en cas de succès et FALSE en cas d’erreur.
  • Tout type de donnée scalaire peut être utilisé comme type de donnée d’une constante.
  • Le nom d’une constante ne doit pas commencer par un $ car ce préfixe est réservé au nom des variables
Une fois créée, une constante n’est plus modifiable, ni par un nouvel appel à define (retourne FALSE et laisse la valeur de la constante inchangée), ni par une affectation directe (génère une erreur d’analyse du script).

Exemple

Résultat

Mon site web préféré est = OPENTUTO

Mon cours préféré est= PHP 5.5

Portée

La portée d’une constante est le script dans lequel elle est définie. Une constante peut donc être définie dans une première section de code PHP et utilisée dans une autre section de code PHP du même script.

Exemple:

Résultat

Mon site web préféré OPENTUTO.COM !

BONUS

La fonction defined : permet de savoir si une constante est définie ou non. defined retourne TRUE si la constante est définie et FALSE dans le cas contraire.

Syntaxe

booléen defined(chaîne nom)

La fonction constant : retourne la valeur d’une constante dont le nom est passé en paramètre.

Syntaxe

mixte constant(chaîne nom)

Structure de base d’une page PHP

Structure de base d’une page PHP

Les balises PHP

Le code PHP est inclus dans une page HTML à l’intérieur de balises (aussi appelées tags).

PHP accepte quatre syntaxes pour les balises :

  • <?php ... ?>
  • <script language="php"> ... </script>
  • <? ... ?>
  • <% ... %>

La première syntaxe est la syntaxe habituelle, recommandée.

La fonction echo

La fonction echo permet d’afficher une ou plusieurs chaînes. Sa syntaxe est la suivante :

echo(chaîne texte)

echo chaîne texte[,...]

texte : texte à afficher.

Exemple :

Résultat

La fonction echo

La fonction echo

Le séparateur d’instructions

En PHP, toutes les instructions doivent se terminer par un point-virgule.

Exemple

Résultat

Le séparateur d’instructions

Le séparateur d’instructions

En cas d’omission, une erreur est générée.

Le commentaire

PHP propose deux syntaxes :

  • // ou # pour insérer du commentaire sur une ligne “dédiée” ou à la suite d’une instruction.
  • /* ... */ pour insérer du commentaire sur plusieurs lignes.

Exemple :

Mixer du PHP et de l’HTML

Il est tout à fait possible de mixer PHP et HTML.

Exemple 1:

Dans ce premier exemple, nous avons crée une page contenant du code PHP en un seul endroit.

Exemple 2 :

Pour ce deuxième exemple, nous avons crée une page générée entièrement par du code PHP.

Vous avez donc le choix entre la première ou la deuxième méthode pour mixer du PHP et de l’HTML.

Qu’est-ce que PHP

Qu’est-ce que PHP

Qu’est-ce que PHP?

PHP est un langage de script qui s’exécute coté serveur. Le code PHP est inclus dans la page HTML et sera exécuté à chaque fois qu’un visiteur affichera la page.
Le code PHP est interprété au niveau du serveur web et génère du code HTML ou toute autre donnée affichable dans le navigateur de l’utilisateur. Ce dernier n’a aucune connaissance de l’existence du traitement qui s’est déroulé sur le serveur.

Exemple simple de page PHP

Les lignes mise en evidence est du code PHP inclus dans la page HTML à l’intérieur des balises <?php et ?> . Sur cet exemple simple, le code PHP se contente d’afficher un texte statique “Hello World !” grâce à la fonction echo. Dans un vrai programme PHP, il est probable que ce texte serait généré dynamiquement en fonction de l’identification de l’utilisateur.
Le schéma ci-après explique comment est traité un fichier PHP par le serveur Web.

Traitement d'un fichier PHP par le serveur Web.

Traitement d’un fichier PHP par le serveur Web.

Lorsqu’un fichier PHP est demandé au serveur Web, le code PHP inclus dans la page HTML est d’abord exécuté sur le serveur. Le résultat de cette exécution est inséré dans la page à la place du code PHP et la page est renvoyée au navigateur.

Fonctionnement d’un site web

Lorsqu’une personne exécute une URL, par exemple http://www.opentuto.com, dans son navigateur (Internet Explorer, Firefox, Chrome…), que se passe-t-il ?

Eh bien, l’URL est transmise à un serveur web via le réseau qui ensuite traite la demande et renvoie le flux HTML au navigateur.

Il existe deux types de site web : les sites statiques et les sites dynamiques.

Les sites statiques ne contiennent que du code « client », c’est-à-dire du code qui peut être interprété par votre navigateur, par exemple le HTML et le JavaScript.

En revanche, les sites dynamiques contiennent un langage dit « serveur » car c’est le serveur web qui interprète ce langage puis qui envoie le flux HTML au navigateur. Par exemple, PHP, Java et ASP.NET sont des langages serveur.

Si votre site web doit stocker de l’information comme par exemple un login et un mot de passe, un blog, des articles, etc. alors vous êtes obligé d’utiliser une base de données pour stocker l’information et donc d’utiliser un langage serveur pour lire ou écrire les informations dans la base de données.

Donc lorsque vous exécutez une URL (http://www.opentuto.com par exemple) d’un site dynamique, il y a deux étapes :

  1. Le serveur web lit votre URL puis va exécuter le code serveur (PHP dans notre exemple) qui va générer du code HTML. Ensuite, le serveur envoie le flux HTML ainsi généré à votre navigateur.
  2. Votre navigateur reçoit le flux HTML et l’interprète de façon graphique en affichant la page HTML.

Ainsi, lorsque vous voulez tester un site statique sur votre ordinateur, vous pouvez simplement double cliquer sur votre page HTML pour l’ouvrir dans votre navigateur.

Mais si vous voulez tester un site dynamique en PHP, vous devez obligatoirement installer un serveur web (Apache par exemple) sur votre ordinateur et lancer votre page PHP avec une URL de type : http://127.0.0.1/maPagePHP.php

Créer une première page PHP

Créer une première page PHP

Une fois que le serveur web est installé, nous allons voir comment créer une page PHP sur celui-ci.

  • Il faut choisir un éditeur de texte (Notepad++, sublime text, ou autre…) pour créer vos pages PHP
  • Taper le code HTML et PHP et d’enregistrer la page dans le dossier C:\wamp\www\test. Il faut toujours nommer sa page avec l’extension .php sauf paramétrage particulier du serveur web. Dans l’exemple ci-dessous, la page s’appelle premierePagePHP.php et contient du code HTML et du code PHP entre les balises <?php et ?>.

Dans cet exemple ci-dessus, la fonction echo génère <p>Bonjour OpenTuto!</p> en HTML puis le navigateur reçoit tout le flux HTML de la page. Et donc affiche :

Première page PHP

Première page PHP

Vous avez crée avec succès votre première page PHP 🙂 .

Les fonctions en PHP

1 – Introduction

À l’instar des différents langages de développement, PHP offre la possibilité de définir ses propres fonctions dites “fonctions utilisateur”, en plus des fonctions incluses par défaut avec les distributions de PHP comme print, echo, …etc.

Une fonction est un ensemble d’instructions identifiées par un nom, dont l’exécution retourne une valeur et dont l’appel peut être utilisé comme opérande dans une expression. Une procédure est un ensemble d’instructions identifiées par un nom qui peut être appelé comme une instruction.

2 – Création des fonctions

Une fonction peut être définie en utilisant la syntaxe suivante :

Il ne faut jamais mettre d’espaces ni de caractères spéciaux dans le nom d’une fonction.

Par exemple :

Cette fonction calcule la somme de deux chiffres passés en paramètre et retourne le résultat par l’intermédiaire du mot-clé return.

Pour appeler cette fonction, il suffit d’écrire par exemple :

Soit au final :

2.1 – Portée des variables

Les variables déclarées ou passées en paramètres d’une fonction ne sont valables que dans la fonction.

Par exemple :

Résultat :

Portée des variables PHP

Portée des variables PHP

En effet, la variable $siteweb n’est valable que dans la fonction Mon_Siteweb_Prefere.

De la même façon, une variable déclarée en dehors de la fonction n’est pas valable dans la fonction.

Par exemple :

Résultat :

Portée des variables PHP

Portée des variables PHP

Les variables globales

Une variable peut être déclarée avec le mot-clé global. Cela a pour effet de définir la variable dans tout le code PHP de votre page aussi bien dans les fonctions qu’ailleurs.

Exemple :

Résultat :

Les variables globales en PHP

Les variables globales en PHP

Fonctions sur les tableaux PHP

1 – Longueur d’un tableau

La fonction count() ou sizeof(). permet de connaître le nombre d’éléments dans un tableau.

Syntaxe:

Cette fonction renvoie 0 si le tableau est vide.

Exemple:

Résultat:

La taille du tableau est : 4

2 – Existence d’une valeur dans un tableau

La fonction in_array() permet de rechercher un élément dans un tableau.

Syntaxe:

Cette fonction renvoie un Booléen.

Exemple 1:

Résultat :

OPENTUTO existe dans le tableau

La fonction in_array() peut prendre un troisième paramètre en option qui est la vérification du type de la valeur trouvée par rapport à la valeur recherchée. Ce paramètre est une variable booléenne qui vaut false par défaut, c’est-à-dire qui ne tient pas compte du type.

Exemple:

Dans l’exemple ci dessous, j’ajoute à la fonction in_array() un troisième paramètre “true” pour tenir compte du type. Du coup, la valeur recherchée doit être du même type que la valeur contenue dans le tableau, ce qui est pas le cas pour cet exemple : valeur recherchée : 78 (de type numérique) et valeur stockée dans le tableau ’78’ (de type string )

Résultat:

78 n’existe pas dans le tableau

3 – Existence d’une clé dans un tableau

La fonction array_key_exists() permet de connaître l’existence d’une clé dans un tableau.

Syntaxe :

Exemple:

Résultat :

La clé D existe dans le tableau

4 – Tri d’un tableau

Il existe plusieurs fonctions permettant de trier un tableau. Certaines trient dans l’ordre décroissant, d’autres suivant la clé et non la valeur, etc.

  • sort() : trie les valeurs de la plus petite à la plus grande.
  • asort() : trie les valeurs de la plus petite à la plus grande avec préservation du couple clé/valeur.
  • rsort() : trie les valeurs de la plus grande à la plus petite.
  • arsort() : trie les valeurs de la plus grande à la plus petite avec préservation du couple clé/valeur.
  • ksort() : trie les clés du tableau de la plus petite à la plus grande avec préservation du couple clé/valeur.
  • krsort() : trie les clés du tableau de la plus grande à la plus petite avec préservation du couple clé/valeur.

 Exemple d’utilisation de la fonction sort():

Résultat :

Tri d'un tableau PHP à l'aide de la fonction sort()

Tri d’un tableau PHP à l’aide de la fonction sort()

Les autres fonctions de tri detaillées ci-dessus fonctionnent de la même manière que l’exemple de la fonction sort().

Les opérateurs logiques en PHP

Les opérateurs logiques sont très souvent utilisés dans les structures de contrôle. Elles permettent de définir des expressions plus ou moins complexes qui renverront un booléen TRUE ou FALSE. Ci-dessous un tableau synthétique de ces opérateurs.

Opérateur Description
ET L’opérateur se note && ou and.
OU L’opérateur se note || ou or.

L’opérateur ET

Exemple :

En effet, pour que la condition du if soit vérifiée, il faut que $x soit égal à 100 ET que $y soit égal à 50. Comme c’est le cas, Bonjour opentuto! est affiché.

L’opérateur OU

Exemple :

En effet, pour que la condition du if soit vérifiée, il faut que $x soit égal à 100 OU que $y soit égal à 50. Comme c’est le cas, Bonjour opentuto! est affiché.

Dans le cas où les opérateurs || et && se suivent, l’opérateur && est prioritaire devant l’opérateur ||.