PHP : Les Fondamentaux

PHP : Les Fondamentaux

PHP : les fondamentaux Achref El Mouelhi Docteur de l’universite´ d’Aix-Marseille Chercheur en programmation par contrainte (IA) Ingenieur´ en genie´ logiciel [email protected] H & H: Research and Training 1 / 218 Plan 1 Introduction 2 Avant de commencer 3 Premier projet PHP 4 Commentaires 5 Variables 6 Quelques operations´ sur les variables 7 Fonctions utiles pour les chaˆınes de caracteres` H & H: Research and Training 2 / 218 Plan 8 Conditions et boucles if if ... else if ... elseif ... else switch Elvis operator Null coalescing while do ... while for 9 Tableaux Tableaux indexes´ Tableaux associatifs Tableaux multidimensionnels 10 Constantes H & H: Research and Training 3 / 218 Plan 11 Fonctions Fonctions nommees´ Fonctions anonymes Valeurs par defaut´ pour les parametres` Fonctions a` nombre indetermin´ e´ de parametres` Decomposition´ Passage par ref´ erence´ Fonction de retour (callback) Fonctions flech´ ees´ (Arrow functions) Typage de parametres` Typage de valeurs de retour Typage strict Type Nullable Fonctions gen´ eratrices´ H & H: Research and Training 4 / 218 Plan 12 Variables locales et globales 13 Math 14 Date 15 Fichiers Ouverture Fermeture Utilisation H & H: Research and Training 5 / 218 Introduction PHP PHP Initialement pour Personal Home Page ensuite pour PHP : Hypertext Preprocessor) langage de programmation open-source c oriente-objet´ et procedural´ imperatif´ interpret´ e´ faiblement type´ c Achref EL MOUELHI cre´e´ en 1994 par Rasmus Lerdorf dans le cadre d’un projet personnel pour gerer´ les visiteurs de son site web syntaxe tres` proche du C (procedural),´ C++ (procedural,´ oriente-objet)´ et Java (oriente-objet)´ H & H: Research and Training 6 / 218 Introduction PHP PHP, pourquoi ? Langage de haut niveau (pas de gestion de memoire,´ pas d’allocation dynamique, pas de pointeur... comme en c C et C++) Facile a` apprendre et a` utiliser Nombreuses documentations, supports videos,´ plusieurs exemples sur internet Enorme´ communautAchrefe´ : un EL des MOUELHI langages les plus utilises´ dans le monde c Permettant de developper´ rapidement des programmes portables : Windows, Mac OS, Linux... H & H: Research and Training 7 / 218 Quelques technologies concurrentes a` PHP JSP (Java Server Pages) : contenu dynamique ecrit´ en Java ASP.Net (Active Server Pages) : contenu dynamique pouvant etreˆ ecrit´ dans tous les langages de la plateforme .Net (C#, VB.Net...) Introduction Quel type d’application ? Applications utilisables en ligne de commande (scripting) La partie serveur pour applications web c applications mobiles sites web dynamiques Services web c Achref EL MOUELHI H & H: Research and Training 8 / 218 Introduction Quel type d’application ? Applications utilisables en ligne de commande (scripting) La partie serveur pour applications web c applications mobiles sites web dynamiques Services web Achref EL MOUELHI Quelques technologies c concurrentes a` PHP JSP (Java Server Pages) : contenu dynamique ecrit´ en Java ASP.Net (Active Server Pages) : contenu dynamique pouvant etreˆ ecrit´ dans tous les langages de la plateforme .Net (C#, VB.Net...) H & H: Research and Training 8 / 218 Introduction Dates de sorties de quelques versions de PHP 8 juin 1995 : Version 1.0. 1er novembre 1997 : Version 2.0. 6 juin 1998 : Version 3.0. 22 mai 2000 : Version 4.0. 10 decembre´ 2001 : Version 4.1. c 13 juillet 2004 : Version 5.0. 24 novembre 2005 : Version 5.1. 2 novembre 2006 : Version 5.2. 30 juin 2009 : Version 5.3. 1er mars 2012 : Version 5.4. 20 juin 2013 : VersionAchref 5.5. EL MOUELHI 28 aoutˆ 2014 c : Version 5.6. 3 decembre´ 2015 : Version 7.0. 1 decembre´ 2016 : Version 7.1. 30 novembre 2017 : Version 7.2. 6 decembre´ 2018 : Version 7.3. 21 novembre 2019 : Version 7.4. H & H: Research and Training 9 / 218 Introduction PHP Requˆete Serveur HTTP Web HTTP c (index.php) index.php AchrefHTML EL MOUELHI c Interpr´eteur CSS + JS R´eponse PHP Base de HTTP donn´ees Client Serveur H & H: Research and Training 10 / 218 Sous Windows, on peut les trouver dans WAMP http://www.wampserver.com/ Introduction PHP De quoi on a besoin (le minimum) ? Un editeur´ de texte (Bloc-notes, Notepad++, Sublime Text...) Un serveur web (Apache) c Un interpreteur´ du langage PHP Et probablement un systeme` de gestion de base de donnees´ (gen´ eralement´ MySQL) c Achref EL MOUELHI H & H: Research and Training 11 / 218 Introduction PHP De quoi on a besoin (le minimum) ? Un editeur´ de texte (Bloc-notes, Notepad++, Sublime Text...) Un serveur web (Apache) c Un interpreteur´ du langage PHP Et probablement un systeme` de gestion de base de donnees´ (gen´ eralement´ MySQL) c Achref EL MOUELHI Sous Windows, on peut les trouver dans WAMP http://www.wampserver.com/ H & H: Research and Training 11 / 218 Quelques el´ ements´ dans le menu de demarrage´ de WAMP localhost : page de demarrage´ de WAMP phpMyAdmin : page web permettant la gestion des bases de donnees´ MySQL Repertoire´ www : emplacement des projets PHP sur le disque dur ... Introduction PHP Premiere` utilisation de WAMP Demarrer´ WAMP Cliquer sur WAMP dans la barre de demarrage´ et choisir Redemarrer´ les services c Si l’iconeˆ de WAMP n’est pas en vert, aller verifier´ http://forum.wampserver.com/read.php?1,88043 c Achref EL MOUELHI H & H: Research and Training 12 / 218 Introduction PHP Premiere` utilisation de WAMP Demarrer´ WAMP Cliquer sur WAMP dans la barre de demarrage´ et choisir Redemarrer´ les services c Si l’iconeˆ de WAMP n’est pas en vert, aller verifier´ http://forum.wampserver.com/read.php?1,88043 Quelques el´ ements´ Achref dans le menu de EL demarrage´ MOUELHI de WAMP localhost c : page de demarrage´ de WAMP phpMyAdmin : page web permettant la gestion des bases de donnees´ MySQL Repertoire´ www : emplacement des projets PHP sur le disque dur ... H & H: Research and Training 12 / 218 Introduction PHP On peut utiliser un IDE (Environnement de developpement´ integr´ e)´ pour eviter´ d’utiliser la console et les commandes c car un IDE integre` un compilateur lance´ memeˆ pendant l’ecriture´ du code pour profiter de la coloration syntaxique, l’auto-completion,´ l’indentation c Achref automatique... EL MOUELHI pour avoir une bonne structuration du projet H & H: Research and Training 13 / 218 Introduction PHP Exemple d’IDE pour PHP Eclipse c Netbeans WebStorm PHPStorm c Achref EL MOUELHI ... H & H: Research and Training 14 / 218 Introduction PHP Eclipse, pourquoi ? c open-source simple conseille´ pour les debutants´ Achref EL MOUELHI multi-langage c : Java, C++, PHP, Cobol, C#, JavaScript... H & H: Research and Training 15 / 218 Introduction Introduction c Eclipse : tel´ echargement´ https://www.eclipse.org/downloads/download.php?file =/oomph/epp/2019-12/R/eclipse-inst-win64.exe c Achref EL MOUELHI H & H: Research and Training 16 / 218 PHP Introduction c Achref EL MOUELHI c H & H: Research and Training 17 / 218 PHP Introduction c Achref EL MOUELHI c H & H: Research and Training 17 / 218 Introduction PHP Configuration d’Eclipse Au demarrage´ d’Eclipse, choisir le repertoire´ www de wamp64c comme workspace Aller Window > Preferences, saisir encoding Verifier´ dans toutes les sections que l’encodage utilise´ est l’UTF-8 c Achref EL MOUELHI Valider en cliquant sur Apply and close H & H: Research and Training 18 / 218 Remarque Certains anciens el´ ements´ PHP pred´ efinis´ ne respectent pas ces regles.` Avant de commencer PHP Les regles` de nommage en PHP Pour les classes : Le Pascal case c Pour les methodes,´ fonctions et variables : Le snake case Pour les noms de projets : Le Kebab case c Achref EL MOUELHI H & H: Research and Training 19 / 218 Avant de commencer PHP Les regles` de nommage en PHP Pour les classes : Le Pascal case c Pour les methodes,´ fonctions et variables : Le snake case Pour les noms de projets : Le Kebab case Achref EL MOUELHI Remarque c Certains anciens el´ ements´ PHP pred´ efinis´ ne respectent pas ces regles.` H & H: Research and Training 19 / 218 Avant de commencer PHP Le code PHP Les fichiers contenant un code PHP doivent avoir l’extension c .php Un bloc de code PHP est situe´ entre les deux balises suivantes <?php ... ?> Une page c PHPAchref est une page EL HTML MOUELHI qui contient une ou plusieurs balises PHP H & H: Research and Training 20 / 218 Avant de commencer PHP Les instructions c Chaque instruction se termine par ; Il est possible d’ecrire´ plusieurs instructions sur une memeˆ ligne (mais ce n’est pas une bonne pratique) Eclipse nousAchref facilite le formatage EL MOUELHI et l’indentation du code avec le raccourci c CTRL + Shift + F H & H: Research and Training 21 / 218 Remarque Aller verifier´ dans le repertoire´ www qu’un repertoire´ premier-cours-php a et´ e´ cre´e´ Premier projet PHP PHP Comment creer´ un projet sous Eclipse ? Aller dans File > New > PHP Project Remplir le champ Project name: avec premier-cours-php c puis cliquer sur Next Cliquer sur Finish c Achref EL MOUELHI H & H: Research and Training 22 / 218 Premier projet PHP PHP Comment creer´ un projet sous Eclipse ? Aller dans File > New > PHP Project Remplir le champ Project name: avec premier-cours-php c puis cliquer sur Next Cliquer sur Finish c Achref EL MOUELHI Remarque Aller verifier´ dans le repertoire´ www qu’un repertoire´ premier-cours-php a et´ e´ cre´e´ H & H: Research and Training 22 / 218 Premier projet PHP PHP Comment creer´ un fichier PHP ? c Faire clic droit sur le projet et aller dans New > PHP File Dans File name, saisir index.php et cliquer sur Next > Choisir New simple PHP file Achref EL MOUELHI Cliquer c sur Finish H & H: Research and Training 23 / 218 Premier projet PHP PHP Remplacer le contenu d’index.php par le suivant <!DOCTYPE html> <html> <head> c <meta charset="UTF-8"> <title>Premiere` page PHP</title> </head> <body> <?php Achref EL MOUELHI echo c "Hello world"; ?> </body> </html> H & H: Research and Training 24 / 218 Premier projet PHP PHP c Comment voir le resultat´ de cette page ? Faire clic droit sur le fichier index.php Choisir Run > PHP Web Application c Achref EL MOUELHI H & H: Research and Training 25 / 218 Premier projet PHP PHP Fonctions d’affichage : echo et print utilisables avec et sans parentheses.` echo n’a pas de valeur de retour.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    344 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us