28
Cours PHP/MySQL 4éme partie

Cours php & Mysql - 4éme partie

  • Upload
    kadzaki

  • View
    912

  • Download
    10

Embed Size (px)

DESCRIPTION

Cours php et Mysql

Citation preview

Page 1: Cours php & Mysql - 4éme partie

Cours PHP/MySQL4éme partie

Page 2: Cours php & Mysql - 4éme partie

Séance précédente

• Projet: La création de la page d’accueil du site• Projet: La création des autres pages statiques• Les formulaires• Sessions et cookies• L'envoi de mail• Introduction aux bases de données et au MySQL en particulier

• Introduction au langage SQL• Modélisation Merise d'une base de données (Exemple de notre projet de site e-commerce)

• Communiquer entre PHP et MySQL• Projet: Authentification au site• Projet: Affichage des catégories de produits

Page 3: Cours php & Mysql - 4éme partie

Séance d'aujourd'hui

• Projet: Listing des produits• Projet: Listing de produits par catégorie• Projet: Ajout de produits au panier• Projet: Retirer des produits depuis le panier• Les concepts fondamentaux de la programmation orientée objet

• La programmation orientée objet en PHP• Les exceptions• Les fichiers• Projet: Utilisation des concepts orientés objet

Page 4: Cours php & Mysql - 4éme partie

Projet: Listing des produits

4

Page 5: Cours php & Mysql - 4éme partie

Projet: Listing de produits par

catégorie

5

Page 6: Cours php & Mysql - 4éme partie

Projet: Ajout de produits au panier

6

Page 7: Cours php & Mysql - 4éme partie

Projet: Retirer des produits depuis le

panier

7

Page 8: Cours php & Mysql - 4éme partie

Les concepts fondamentaux de la

programmation orientée objet

8

Page 9: Cours php & Mysql - 4éme partie

La programmation fonctionnelle

• Les programmes sont composés d'une série de fonctions, qui ensemble, assurent certains services.

• Son avantage principal est la factorisation des comportements.

• Son défaut principal est la complexité de maintenance du code dus au chaînage des fonctions à cause de la factorisation des comportements.

9

Page 10: Cours php & Mysql - 4éme partie

La programmation orienté objet

• Les programmes sont composés de classes représentant des entités du monde physique (voiture, livre,…etc)

• Ses avantages: facilité d'organisation, réutilisation, facilité de correction, facilite la conception car elle décrit les entités comme dans le monde réel.

10

Page 11: Cours php & Mysql - 4éme partie

OPP: Qu’est ce qu’une classe ?

• Une classe, est un type de données abstrait, caractérisé par des propriétés (ses attributs et ses méthodes) communes à des objets et elle permet de créer des objets possédant ces propriétés.

11

Page 12: Cours php & Mysql - 4éme partie

OPP: Qu’est ce qu’un objet ?

• Un objet est une entité comportant des frontières précises et qui possède une identité (un nom).

• De plus, un ensemble d'attributs caractérisent l'état d'un objet, et l'on dispose d'un ensemble d'opérations (les méthodes) qui permettent d'agir sur le comportement de l'objet.

• Un objet est l'instance d'une classe

12

Page 13: Cours php & Mysql - 4éme partie

OPP: L'encapsulation

• L'encapsulation consiste à masquer les détails d'implémentation d'un objet.

• L'encapsulation facilite l'évolution d'une application car elle stabilise l'évolution des objets.

• Elle garantit de plus l'intégrité des données vu qu'elle permet d'interdire l'accès direct aux attributs des objets (on doit alors passer par des assesseurs).

• Un assesseur étant une méthode d'accès pour connaître ou modifier la valeur d'un attribut d'un objet.

13

Page 14: Cours php & Mysql - 4éme partie

OPP: L'héritage

• L'héritage est un mécanisme de transmission des propriétés d'une classe (ses attributs et ses méthodes) vers une sous-classe (la sous-classe héritant de la classe principale).

• Grâce à l'héritage, une classe peut aussi être spécialisée en d'autres classes, afin d'y ajouter des caractéristiques spécifiques (ajout de méthodes par exemple) ou d'en adapter certaines.

• Plusieurs classes peuvent aussi être généralisées en une classe qui les factorise, et ce, afin de regrouper les caractéristiques communes d'un ensemble de classes.

• La spécialisation et la généralisation permettent de construire des hiérarchies de classes.

• L'avantage principal de l'héritage est qu'il vous permet de d'éviter la duplication de code, et il encourage à la réutilisation de même code.

14

Page 15: Cours php & Mysql - 4éme partie

OPP: Le polymorphisme

• Le polymorphisme représente la faculté d'une méthode à pouvoir s'appliquer à des objets de classes différentes. Il augmente donc la généricité du code.

15

Page 16: Cours php & Mysql - 4éme partie

OPP: L'agrégation

• L'agrégation constitue une relation entre deux classes, spécifiant que les objets d'une classe sont des composants de l'autre classe.

• Une relation d'agrégation permet donc de définir des objets composés d'autres objets.

• L'agrégation permet d'assembler des objets de base, afin de construire des objets plus complexes.

16

Page 17: Cours php & Mysql - 4éme partie

La programmation orientée objet en

PHP

17

Page 18: Cours php & Mysql - 4éme partie

Les exceptions

18

Page 19: Cours php & Mysql - 4éme partie

Les exceptions

• Le mécanisme des exceptions a été introduit à PHP dans sa version 5 en complément de son nouveau modèle orienté objet.

• Les exceptions permettent de simplifier, personnaliser et d'organiser la gestion des erreurs dans un programme.

• Le mot « erreurs » ne signifie pas « bug », qui est un comportement anormal de l'application développée, mais plutôt un cas exceptionnel à traiter différemment dans le déroulement du programme.

19

Page 20: Cours php & Mysql - 4éme partie

• La création d'une exception est réalisée par l'appel au constructeur de la classe native Exception

<?php

// Création de l'objet Exception$e = new Exception("Une erreur s'est produite");

// Affiche le message d'erreurecho $e->getMessage();

?>

Générer une exception

Page 21: Cours php & Mysql - 4éme partie

• Le lancement d'une exception à travers le programme est réalisée grâce au mot-clé « throw »

<?php

if (isset($_GET['id']) && ! (int)$_GET['id']) {throw new Exception('Le paramètre id doit être un entier !');

}

/* Cette ligne ne sera jamais exécutéecar une exception est lancée pour interromprel'exécution normale du programme */

echo 'Bonjour !';

?>

Lancer une exception à travers le programme

Page 22: Cours php & Mysql - 4éme partie

• PHP dispose d'une structure conditionnelle capable d'intercepter les exceptions afin de permettre d'appliquer des traitements particuliers.

<?phptry {if (isset($_GET['id']) && ! (int)$_GET['id']) {throw new Exception('Le paramètre id doit être un entier !');}

echo 'Bonjour !';}catch(Exception $e){echo "L'erreur suivante a été générée: <br>";echo $e->getMessage();} ?>

Intercepter / attraper une exception générée

Page 23: Cours php & Mysql - 4éme partie

Les fichiers

23

Page 24: Cours php & Mysql - 4éme partie

Les droits sur les fichiers

• r: Ouvre le fichier en lecture seule.

• r+: Ouvre le fichier en lecture et écriture.

• a: Ouvre le fichier en écriture seule et si le fichier n'existe pas, il est automatiquement créé.

• a+: Ouvre le fichier en lecture et écriture. Si le fichier n'existe pas, il est créé automatiquement.

24

Page 25: Cours php & Mysql - 4éme partie

<?php

$file = fopen('compteur.txt', 'r+');

fclose($file);

?>

Ouvrir et fermer un fichier

Page 26: Cours php & Mysql - 4éme partie

<?php

$file = fopen('compteur.txt', 'r+');

$ligne = fgets($file);

fclose($file);

?>

Lire un fichier

Page 27: Cours php & Mysql - 4éme partie

<?php

$file = fopen('compteur.txt', 'r+');

$pagesVues = fgets($file);$pagesVues++;fseek($file, 0);fputs($file, $pagesVues);

fclose($file);

echo '<p>Cette page a été vue ' . $pagesVues . ' fois !</p>';

?>

Ecrire dans un fichier

Page 28: Cours php & Mysql - 4éme partie

Projet: Utilisation des concepts

orientés objet

28