Différences entre versions de « PHP (Fiche) »

De Didaquest
Aller à la navigationAller à la recherche
 
(125 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= C'est quoi? =
+
* [[Fichier:elephant-php-logo.png|100px]][[Fichier:elipse-php-logo.png|100px]]
[[PHP]] (sigle de PHP: Hypertext Preprocessor) est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. PHP est un langage impératif disposant depuis la version 5 de fonctionnalités de modèle objet complètes. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une [[plate-forme]] plus qu'un simple langage.
 
  
= Logo =
+
= C'est quoi ? =
[[Fichier:elephant-php-logo.png|100px]]
+
* '''Définition''' : [[PHP]] (sigle de PHP: Hypertext Preprocessor) est un langage de [[scripts]] libre principalement utilisé pour produire des pages Web dynamiques via un [[serveur]] HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. PHP est un [[langage impératif]] disposant depuis la version 5 de fonctionnalités de modèle objet complètes. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une [[plateforme]] plus qu'un simple [[langage informatique]].
[[Fichier:elipse-php-logo.png|100px]]
+
* '''Traduction'''
 +
* '''Licence ou Copyright''': [[Licence : Logiciel libre]] / [[Licence : Gratuit]]
 +
* '''Système d'exploitation''': [[Multiplateforme]]
 +
* '''Influencé par''': [[Perl]] / [[C]] / [[C++]] / [[Java]]
 +
* '''Téléchargement et Démonstration'''
  
= Traduction =
+
= Principe via un serveur =
= Quelle type de licence ou de copyright? =
+
[[Fichier:Php-principe-via-serveur.png|vignette]]
* [[Licence : Logiciel libre]]  
+
Quand vous créez des sites web avec PHP par exemple, vous associez le langage avec un serveur web HTTP comme Apache ou Nginx. Chacun se répartit les rôles :
* [[Licence : Gratuit]]
 
  
= Quel système d'exploitation ? =
+
* Apache gère les demandes de connexion HTTP au serveur. C'est lui qui fait en quelque sorte la circulation et qui gère les entrées/sorties.
* [[Multiplateforme]]
+
* PHP exécute le code des fichiers .php et renvoie le résultat à Apache, qui se charge à son tour de l'envoyer au visiteur.
  
= Concepts, notions, mots clés et vocabulaire associés =
+
Comme plusieurs visiteurs peuvent demander une page en même temps au serveur, Apache se charge de les répartir et de les exécuter en parallèle dans des threads différents. Chaque thread utilise un processeur différent sur le serveur (ou un noyau de processeur) :
* [[Programmation impérative]]
 
* [[Programmation orientée objet]]
 
* [[Programmation fonctionnelle]]
 
  
= Web Définition =
+
= Concepts associés ? =
* [[Php - Wikipedia]]
+
* [[Programmation impérative]] / [[Programmation orientée objet]] / [[Programmation fonctionnelle]]
* [[Php - Phpmyvisites.net]]
+
 
* [[Php - Dicodunet]]
+
= Web Définitions =
 +
* [[Php - Wikipedia]] / [[Php - Phpmyvisites.net]] / [[Php - Dicodunet]] / [[Php - Codes-sources]]
 +
 
 +
= Documentation et utilitaires nécessaires =
 +
Liste non exhaustive de logiciels, de programmes ou d'interfaces permettant une utilisation simplifiée et optimisée:
 +
 
 +
== Documentation ==
 +
La documentation PHP est très complète, bien organisée, gratuite, disponible sur Internet, et traduite dans de très nombreuses langues (dont le français).
 +
:- '''Liste des fonctions classées par thèmes''' : https://www.php.net/manual/fr/funcref.php
 +
:- '''Présentation d'une fonction dont on connaît le nom et que l'on veux comprendre''' : Pour accéder directement à la présentation d'une fonction, tapez l'adresse suivante dans votre navigateur : php.net/nom_de_la_fonction (exemple pour comprendre la fonction maxdb_prepare il suffit de mettre dans le navigateur l'url suivante: php.net/maxdb_prepare )
 +
:- Tutoriel pour utiliser la documentation PHP [https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/918372-utilisez-la-documentation-php] : Le but de cette annexe est de montrer comment la doc' fonctionne, afin d'être capables de trouver facilement et seul l'information recherchées.
 +
 
 +
= Exemples, Applications, Utilisations =
 +
Bon pour commencer :
 +
* https://www.youtube.com/playlist?list=PLjwdMgw5TTLVDv-ceONHM_C19dPW1MAMD
 +
* https://www.tutorialrepublic.com/php-examples.php
 +
 
 +
Un Rappel et une intro: PHP For Beginners HTML/CSS/PHP - Sample Tutorial For Easy Understanding
 +
* https://www.youtube.com/watch?time_continue=580&v=zexDCbd4--M
 +
 
 +
== Exemples généraux ==
 +
* [[Php Logiciel - Guidephp]]
 +
* Relation entre tables: https://www.developpez.net/forums/d1922294/php/php-base-donnees/php-mysql/creer-relation-entre-tables/
 +
 +
Plusieurs exemples rapide à comprendre :
 +
: Quelques bases simples et avancées: https://www.sitedudev.com/cours/php
 +
: Débutant : https://www.bonbache.fr/formation-technique-php-debutant-3-7-1.html
 +
: Avancé : https://www.bonbache.fr/formation-technique-php-debutant-3-7-2.html
 +
: Du simple au complexe : https://www.primfx.com/tutos/php/
 +
 
 +
* Créer des articles : Système d'articles en PHP -
 +
:: 1- Rédaction et Affichage: https://www.primfx.com/systeme-articles-php-1-redaction-affichage-467/
 +
:: 2- Edition et Suppression: https://www.primfx.com/systeme-articles-php-2-edition-suppression-468/
 +
:: 3- Miniatures: https://www.primfx.com/systeme-articles-php-3-miniatures-469/
 +
 
 +
Comment insérer plusieurs données dans Mysql en PHP
 +
* en utilisant le champ TextArea : https://www.webslesson.info/2019/06/how-to-insert-multiple-data-into-mysql-in-php-using-textarea-field.html
 +
 
 +
Sécurités quelques exemples
 +
* Validation des formulaires : https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours/securiser-valider-formulaire/
 +
* Création de captcha: https://www.supinfo.com/articles/single/4025-captcha-recaptcha-php
 +
* Protegez-vos-répertoires : https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/3005121-protegez-vos-répertoires
 +
* PHPauth : https://phpauth.github.io/PHPAuth/
 +
* Exemple de class sur phpclasses: https://www.phpclasses.org/package/7103-PHP-Manage-accounts-and-authenticate-users.html
 +
Liste de nombreuses failles et exemples de sécurités :
 +
* https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/2873202-protegez-les-donnees
 +
* https://openclassrooms.com/fr/courses/2091901-protegez-vous-efficacement-contre-les-failles-web/2680162-nayez-jamais-confiance
 +
 
 +
== Notions de sessions ==
 +
* Via des exemples de page membre (une section membre):
 +
::* http://www.lephpfacile.com/cours/18-les-sessions
 +
 
 +
::* Script Espace membre
 +
::* https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/917948-tp-creez-un-espace-membres
 +
 
 +
:::* PHP: http://www.c2script.com/scripts/script-espace-membre-php-s33.html
 +
:::* https://www.primfx.com/tuto-php-creer-espace-membre-1-3-inscription-156/
 +
:::* https://www.primfx.com/tuto-php-creer-espace-membre-2-3-profil-connexion-deconnexion-158/
 +
:::* https://www.primfx.com/tuto-php-creer-espace-membre-3-3-edition-profil-162/
 +
 
 +
::* Script Espace administrateur
 +
:::* https://www.primfx.com/tuto-php-espace-administration-470/
 +
::* http://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/4239476-session-cookies
 +
::* https://github.com/Espace-administration/basic-admin-php
 +
 
 +
:: Script de connexion PHP utilisant PDO avec Session : https://www.webslesson.info/2016/06/php-login-script-using-pdo-with-session.html
 +
 
 +
::* Créer un captcha: https://www.primfx.com/tuto-php-creer-captcha-438/
 +
 
 +
== Notion de class ==
 +
* https://www.youtube.com/watch?v=KWKrxf7ydpU
 +
* simple : http://phpdebutant.org/article42.php
 +
* syntaxe de base : https://www.php.net/manual/fr/language.oop5.basic.php
 +
 
 +
Notion d'Objet - Classe - Encapsulation - Héritage - Polymorphisme - Agrégation:
 +
* https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours/introduction-programmation-orientee-objet/
 +
* https://openclassrooms.com/fr/courses/1665806-programmez-en-oriente-objet-en-php
 +
* http://www.lephpfacile.com/cours/24-la-programmation-objet-concepts-fondamentaux
 +
* https://apprendre-php.com/tutoriels/tutoriel-29-les-classes-et-objets.html
 +
* Méthode magique Set et Get : https://apprendre-php.com/tutoriels/tutoriel-49-mthodes-magiques-set-et-get.html
 +
* Méthode magique Call: https://apprendre-php.com/tutoriels/tutoriel-48-mthodes-magiques-call.html
 +
* Méthode magique Clone: https://apprendre-php.com/tutoriels/tutoriel-74-mthodes-magiques-clone.html
 +
* Méthode magique Sleep et Wakeup: https://apprendre-php.com/tutoriels/tutoriel-75-mthodes-magiques-sleep-et-wakeup.html
 +
* Classes abstraites et finales : https://apprendre-php.com/tutoriels/tutoriel-44-les-classes-abstraites-et-finales.html
 +
* Classe native Exception:
 +
:: https://apprendre-php.com/tutoriels/tutoriel-41-les-exceptions-1re-partie.html
 +
:: https://apprendre-php.com/tutoriels/tutoriel-42-les-exceptions-2me-partie.html
 +
* dépendances et couplage des classes poo:
 +
https://blog.developpez.com/rawsrc/p10377/conception/dependances_et_couplage_des_classes_poo
 +
 
 +
Exemples:
 +
* Pour les mails : http://www.lephpfacile.com/cours/25-la-programmation-objet-premiere-approche
 +
* Pour créer un captcha : https://www.primfx.com/forum/programmation/php/tutoriel-captcha-maison-34/
 +
* Projet d'un espace administration avec du PHP Orienté Objet. Ce projet n'utilise pas de MVC : https://github.com/Espace-administration/
 +
* Authentification :
 +
:: exemple 1: https://alexwebdevelop.com/user-authentication/
 +
:: exemple 2: https://github.com/delight-im/PHP-Auth
 +
::: voir le cas de la class Role : https://github.com/delight-im/PHP-Auth/blob/master/src/Role.php
 +
::: Bon exemple sur la gestion selon les roles: https://www.sitepoint.com/role-based-access-control-in-php/
 +
* identification par création de jetons : https://www.linux-professionnel.net/programmation/php---codes-divers/re-identification-par-jeton
 +
:: avec JWT: https://github.com/lcobucci/jwt
 +
:: Goodbye PHP Sessions, Hello JSON Web Tokens : https://coderwall.com/p/8wrxfw/goodbye-php-sessions-hello-json-web-tokens
 +
 
 +
Exemple complet avec Espace membre et admin
 +
* Espace membre version 3 en php 5 :
 +
:: Pour comprendre : https://codes-sources.commentcamarche.net/source/54940-espace-membre-version-3-en-php-5
 +
:: Pour installer : instructions: Comme le site a disparu voici son ancienne version
 +
https://web.archive.org/web/20130304105812/http://dbmwebdesign.fr/Modules/espace-membre/creer-espace-membre.html
 +
:: Télécharger et installer l'exemple puis l'adapter à votre activité:
 +
https://web.archive.org/web/20140811153451if_/http://dbmwebdesign.fr/Modules/espace-membre/medias/ESPACE_MEMBRE_V3-Par%20Jejescript_et_dbmwebdesign.rar
 +
:: localisation sur notre machine : C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete
 +
login : lina mot de pass: tu le connais comme d'habitude
 +
les classes sont toutes dans un seul fichier : function.php
 +
elles sont appelées via le fichier header.php
 +
Comprendre avec des cas simples :
 +
::: avatar.php ( C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete\membre\avatar.php ou C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete\administrateur\avatar.php) qui appel la classe avatar du fichier function.php
 +
::: regarder le cas de la class Smiley  qui est appelé dans la page C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete\administrateur\messageAll.php
 +
::: aussi voir la class captcha qui est appelé dans
 +
 
 +
 
 +
Ressources pour les class:
 +
* https://www.phpclasses.org
 +
* exemple: https://www.phpclasses.org/package/10087-PHP-Register-and-login-users-in-a-database-with-PDO.html
 +
 
 +
== Exemples de Gestion PHP et MySQL ==
 +
Des exemples en PDO:
 +
:: PHP Pdo Code : How To Insert Data Into MySQL Database Form Inputs Text Using Php: http://1bestcsharp.blogspot.com/2015/10/php-mysql-insert-data-from-form-pdo.html
 +
:: Comment insérer plusieurs données dans Mysql en PHP en utilisant le champ TextArea : https://www.webslesson.info/2019/06/how-to-insert-multiple-data-into-mysql-in-php-using-textarea-field.html
 +
 
 +
== Créer un moteur de recherche en PHP et mysql ==
 +
:* '''En PDO'''
 +
:::* Php Code To Search Data In Mysql Database Table And Dispaly Results In Inputs Using PDO: http://1bestcsharp.blogspot.com/2015/10/php-mysql-search-data-by-id-using-pdo.html
 +
:::* Php : How To Search And Filter Data In Html Table With Select Options Using Php And MySQL : http://1bestcsharp.blogspot.com/2016/07/php-html-table-filter-data.html
 +
 
 +
* '''Pagination des résultats de recherche''': https://zestedesavoir.com/tutoriels/351/paginer-avec-php-et-mysql/
 +
 
 +
* '''Autres exemples de création de recherche''':
 +
:* https://www.243tech.com/creer-une-barre-de-recherche-sur-son-site-php-mysql/
 +
:* https://www.bonbache.fr/moteur-de-recherche-web-en-php-370.html
 +
:* https://www.bonbache.fr/resultats-approchants-de-moteur-de-recherche-php-372.html
 +
:* Php Add , Edit , Remove , Find In MySQL Database Using Php With Source Code : http://1bestcsharp.blogspot.com/2015/10/php-insert-update-delete-search-mysql-database-code.html
 +
:* Exemple en vidéo
 +
:::- https://www.youtube.com/watch?v=fWnty4p5v5M
 +
:::- https://www.youtube.com/watch?v=OxCCOSmyYxY
 +
:* Moteur complet php5 à php7 (mis à jour 2018): http://blog.internet-formation.fr/2013/09/moteur-de-recherche-php-objet-poo-complet-pagination-surlignage-fulltext/
 +
::  des sous partie de ce travail :
 +
:::* https://blog.axe-net.fr/tuto-mysql-fulltext-in-boolean-mode/
 +
:::* http://www.finalclap.com/faq/133-mysql-index-fulltext-moteur-recherche
 +
:::* Implémenter une recherche FULLTEXT avec InnoDB en mode NATURAL ou BOOLEAN :
 +
::::: http://blog.axe-net.fr/recherche-pertinence-mysql-fulltext/
 +
::::: http://blog.axe-net.fr/tuto-mysql-fulltext-in-boolean-mode/
 +
 
 +
 
 +
 
 +
== Préférences ==
 +
* Un gestionnaire de présence absence d'étudiants expliqué de A à Z :
 +
https://www.webslesson.info/2019/05/online-student-attendance-system-project-in-php.html
 +
* Un gestionnaire de bibliothèque:
 +
:: Complet avec les codes : https://github.com/tarikulislam786/OLMS
 +
:: Un autre concurrent sans les codes: https://www.youtube.com/watch?time_continue=204&v=tr0mtdknOKQ
 +
 
 +
* Tutoriel avec le plus populaires des framework PHP: [[Symfony]] exemple pour Jobeet: [[Jobeet Symfony]]
 +
 
 +
= Cours et Tutoriels =
 +
* Cours complet PHP MySQL : https://www.drametio.com/index.html
 +
* [[Php Tutoriel - Php.developpez]]
 +
** [[Php Cours - G-rossolini]]
 +
** [[Php Cours - S-vauthier]]
 +
* [[Php - Siteduzero]]
 +
* [[Php - Phpdebutant.org]]
 +
* [[Php - Viaphp.net]]
 +
* [[Php - Apprendre-php]]
 +
* [[Php - Phpsources.org]] - Fr
 +
* [[Php - Oseox.fr]] - Fr
 +
* [[Php - Learnphp-tutorial]] - En
 +
* [[Php - Freewebmasterhelp]] - En
 +
* https://www.pierre-giraud.com/php-mysql-apprendre-coder-cours
 +
* Quelques conseils :
 +
:* https://codes-sources.commentcamarche.net/faq/php-105
 +
 
 +
= Comparaisons, Difficultés, Questions =
 +
* Exemple de comparaisons de 2005 des éditeurs PHP encore d'actualité: [https://php.developpez.com/comparatifs/editeurs/]
 +
* PHP5 versus PHP7: [https://www.lije-creative.com/php-7-vs-php-5-x-quelles-sont-les-differences/]
 +
 
 +
= Sites Internet =
 +
* [[Php.net]] : Site officiel et son manuel en français : https://www.php.net/manual/fr/index.php
 +
 
 +
= Avec Visual Studio Code =
 +
Préliminaire : https://code.visualstudio.com/docs/languages/php
 +
 
 +
* Dans le cas de xampp, pour indiquer le chemin du php.exe il faut mettre dans le settings.json :
 +
{ "php.validate.executablePath": "C:/xampp/php/php.exe"}
 +
 
 +
Utilitaire a mettre:
 +
* '''PHP Extension Pack'''
 +
* '''PHP Debug'''
 +
* Pour formater le code :
 +
:: '''phpfmt - PHP formatter''' Grande notoriété :  Dans le cas de xampp, mettre le chemin du php.exe dans le settings.json
 +
{ "phpfmt.php_bin": "C:/xampp/php/php.exe"}
 +
:: '''PHP Formatter''' Moins puissante et en plus pour formateur le code nécessite un PHP-CS-Fixer et des librairies
 +
 
 +
* '''Open PHP/HTML/JS In Browser''' : Dans le cas de xampp, mettre le chemin du serveur dans le settings.json
 +
    {"open-php-html-js-in-browser.selectedBrowser": "Chrome",
 +
    "open-php-html-js-in-browser.customUrlToOpen": "http://localhost:8888/${relativeDirnameDocumentRoot}/${fileBasename})",
 +
    "open-php-html-js-in-browser.documentRootFolder": "C:\\xampp\\htdocs\\"}
 +
 
 +
* '''php-class-helper''' : pour créer plus rapidement des class
 +
(remarque: Il y a deux versions la plus récente a moins de popularité mais c'est une dérivée de la première)
 +
:: Plus ancienne et plus populaire : php-class-helper de predrag-nikolic.php-class-helper
 +
:: Plus récente, moins populaire mais plus : Class Helper de tiansin.php-class-helper
 +
Quelques astuces en plus:
 +
* Méthode archaïque : How to run php file in visual studio code with xampp :https://www.youtube.com/watch?v=ADicfQ2WAiQ
 +
 
 +
= PHP & API =
 +
* Un bon exemple PHP-API-JSON: [https://www.lije-creative.com/tuto-application-php-api-json/]
 +
= Espace programmeurs et développeurs =
 +
* Nombreuses Questions / Réponses : https://www.ipgirl.com/ip/php
 +
* Très bons exemples :
 +
** https://phppot.com
 +
** https://www.webslesson.info/search/label/php et particulièrement: http://demo.webslesson.info
 +
=> https://www.webslesson.info/2016/03/read-excel-data-and-insert-into-mysql-database-using-php.html
  
= Exemples ou applications =
 
== Exemples d'application ou d'utilisation ==
 
== Exemples de scripts ==
 
= Quels sont les utilitaires nécessaires ? =
 
Voici une liste de logiciels, de programmes ou d'interfaces permettant une utilisation simplifiée et optimisée:
 
= Cours et tutoriaux =
 
= Erreurs, confusions ou difficultés éventuelles =
 
= Questions possibles =
 
= Evaluation et comparaison =
 
= Téléchargements et démonstration =
 
 
= Bibliographie et Webographie =
 
= Bibliographie et Webographie =
== Site Internet officiel ==
 
* [[php.net| http://www.php.net]]
 
  
== Autres sites Internet ==
 
  
 
[[Category: PHP]]
 
[[Category: PHP]]
Ligne 44 : Ligne 250 :
 
[[Category: Langage de programmation]]
 
[[Category: Langage de programmation]]
 
[[Category: Langage de programmation (Fiche)]]
 
[[Category: Langage de programmation (Fiche)]]
 +
[[Category: Informatique - Cours & Tutoriels]]

Version actuelle datée du 10 octobre 2019 à 09:39

  • Elephant-php-logo.pngElipse-php-logo.png

C'est quoi ?

  • Définition : PHP (sigle de PHP: Hypertext Preprocessor) est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale, en exécutant les programmes en ligne de commande. PHP est un langage impératif disposant depuis la version 5 de fonctionnalités de modèle objet complètes. En raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une plateforme plus qu'un simple langage informatique.
  • Traduction
  • Licence ou Copyright: Licence : Logiciel libre / Licence : Gratuit
  • Système d'exploitation: Multiplateforme
  • Influencé par: Perl / C / C++ / Java
  • Téléchargement et Démonstration

Principe via un serveur

Php-principe-via-serveur.png

Quand vous créez des sites web avec PHP par exemple, vous associez le langage avec un serveur web HTTP comme Apache ou Nginx. Chacun se répartit les rôles :

  • Apache gère les demandes de connexion HTTP au serveur. C'est lui qui fait en quelque sorte la circulation et qui gère les entrées/sorties.
  • PHP exécute le code des fichiers .php et renvoie le résultat à Apache, qui se charge à son tour de l'envoyer au visiteur.

Comme plusieurs visiteurs peuvent demander une page en même temps au serveur, Apache se charge de les répartir et de les exécuter en parallèle dans des threads différents. Chaque thread utilise un processeur différent sur le serveur (ou un noyau de processeur) :

Concepts associés ?

Web Définitions

Documentation et utilitaires nécessaires

Liste non exhaustive de logiciels, de programmes ou d'interfaces permettant une utilisation simplifiée et optimisée:

Documentation

La documentation PHP est très complète, bien organisée, gratuite, disponible sur Internet, et traduite dans de très nombreuses langues (dont le français).

:- Liste des fonctions classées par thèmes : https://www.php.net/manual/fr/funcref.php
- Présentation d'une fonction dont on connaît le nom et que l'on veux comprendre : Pour accéder directement à la présentation d'une fonction, tapez l'adresse suivante dans votre navigateur : php.net/nom_de_la_fonction (exemple pour comprendre la fonction maxdb_prepare il suffit de mettre dans le navigateur l'url suivante: php.net/maxdb_prepare )
- Tutoriel pour utiliser la documentation PHP [1] : Le but de cette annexe est de montrer comment la doc' fonctionne, afin d'être capables de trouver facilement et seul l'information recherchées.

Exemples, Applications, Utilisations

Bon pour commencer : 
Un Rappel et une intro: PHP For Beginners HTML/CSS/PHP - Sample Tutorial For Easy Understanding

Exemples généraux

Plusieurs exemples rapide à comprendre : 
Quelques bases simples et avancées: https://www.sitedudev.com/cours/php
Débutant : https://www.bonbache.fr/formation-technique-php-debutant-3-7-1.html
Avancé : https://www.bonbache.fr/formation-technique-php-debutant-3-7-2.html
Du simple au complexe : https://www.primfx.com/tutos/php/
  • Créer des articles : Système d'articles en PHP -
1- Rédaction et Affichage: https://www.primfx.com/systeme-articles-php-1-redaction-affichage-467/
2- Edition et Suppression: https://www.primfx.com/systeme-articles-php-2-edition-suppression-468/
3- Miniatures: https://www.primfx.com/systeme-articles-php-3-miniatures-469/
Comment insérer plusieurs données dans Mysql en PHP 
Sécurités quelques exemples

Liste de nombreuses failles et exemples de sécurités :

Notions de sessions

  • Via des exemples de page membre (une section membre):
  • Script Espace administrateur
Script de connexion PHP utilisant PDO avec Session : https://www.webslesson.info/2016/06/php-login-script-using-pdo-with-session.html

Notion de class

Notion d'Objet - Classe - Encapsulation - Héritage - Polymorphisme - Agrégation: 
https://apprendre-php.com/tutoriels/tutoriel-41-les-exceptions-1re-partie.html
https://apprendre-php.com/tutoriels/tutoriel-42-les-exceptions-2me-partie.html
  • dépendances et couplage des classes poo:

https://blog.developpez.com/rawsrc/p10377/conception/dependances_et_couplage_des_classes_poo

Exemples:
exemple 1: https://alexwebdevelop.com/user-authentication/
exemple 2: https://github.com/delight-im/PHP-Auth
voir le cas de la class Role : https://github.com/delight-im/PHP-Auth/blob/master/src/Role.php
Bon exemple sur la gestion selon les roles: https://www.sitepoint.com/role-based-access-control-in-php/
avec JWT: https://github.com/lcobucci/jwt
Goodbye PHP Sessions, Hello JSON Web Tokens : https://coderwall.com/p/8wrxfw/goodbye-php-sessions-hello-json-web-tokens
Exemple complet avec Espace membre et admin
  • Espace membre version 3 en php 5 :
Pour comprendre : https://codes-sources.commentcamarche.net/source/54940-espace-membre-version-3-en-php-5
Pour installer : instructions: Comme le site a disparu voici son ancienne version

https://web.archive.org/web/20130304105812/http://dbmwebdesign.fr/Modules/espace-membre/creer-espace-membre.html

Télécharger et installer l'exemple puis l'adapter à votre activité:

https://web.archive.org/web/20140811153451if_/http://dbmwebdesign.fr/Modules/espace-membre/medias/ESPACE_MEMBRE_V3-Par%20Jejescript_et_dbmwebdesign.rar

localisation sur notre machine : C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete

login : lina mot de pass: tu le connais comme d'habitude

les classes sont toutes dans un seul fichier : function.php
elles sont appelées via le fichier header.php
Comprendre avec des cas simples : 
::: avatar.php ( C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete\membre\avatar.php ou C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete\administrateur\avatar.php) qui appel la classe avatar du fichier function.php
::: regarder le cas de la class Smiley  qui est appelé dans la page C:\xampp\htdocs\lina\Exercicesurlesclasses\ESPACE_MEMBRE_V3-complete\administrateur\messageAll.php
::: aussi voir la class captcha qui est appelé dans


Ressources pour les class:

Exemples de Gestion PHP et MySQL

Des exemples en PDO:

PHP Pdo Code : How To Insert Data Into MySQL Database Form Inputs Text Using Php: http://1bestcsharp.blogspot.com/2015/10/php-mysql-insert-data-from-form-pdo.html
Comment insérer plusieurs données dans Mysql en PHP en utilisant le champ TextArea : https://www.webslesson.info/2019/06/how-to-insert-multiple-data-into-mysql-in-php-using-textarea-field.html

Créer un moteur de recherche en PHP et mysql

  • En PDO
  • Autres exemples de création de recherche:
- https://www.youtube.com/watch?v=fWnty4p5v5M
- https://www.youtube.com/watch?v=OxCCOSmyYxY
des sous partie de ce travail :
http://blog.axe-net.fr/recherche-pertinence-mysql-fulltext/
http://blog.axe-net.fr/tuto-mysql-fulltext-in-boolean-mode/


Préférences

  • Un gestionnaire de présence absence d'étudiants expliqué de A à Z :

https://www.webslesson.info/2019/05/online-student-attendance-system-project-in-php.html

  • Un gestionnaire de bibliothèque:
Complet avec les codes : https://github.com/tarikulislam786/OLMS
Un autre concurrent sans les codes: https://www.youtube.com/watch?time_continue=204&v=tr0mtdknOKQ

Cours et Tutoriels

Comparaisons, Difficultés, Questions

  • Exemple de comparaisons de 2005 des éditeurs PHP encore d'actualité: [2]
  • PHP5 versus PHP7: [3]

Sites Internet

Avec Visual Studio Code

Préliminaire : https://code.visualstudio.com/docs/languages/php

  • Dans le cas de xampp, pour indiquer le chemin du php.exe il faut mettre dans le settings.json :
{ "php.validate.executablePath": "C:/xampp/php/php.exe"}
Utilitaire a mettre:
  • PHP Extension Pack
  • PHP Debug
  • Pour formater le code :
phpfmt - PHP formatter Grande notoriété : Dans le cas de xampp, mettre le chemin du php.exe dans le settings.json
{ "phpfmt.php_bin": "C:/xampp/php/php.exe"}
PHP Formatter Moins puissante et en plus pour formateur le code nécessite un PHP-CS-Fixer et des librairies
  • Open PHP/HTML/JS In Browser : Dans le cas de xampp, mettre le chemin du serveur dans le settings.json
   {"open-php-html-js-in-browser.selectedBrowser": "Chrome",
   "open-php-html-js-in-browser.customUrlToOpen": "http://localhost:8888/${relativeDirnameDocumentRoot}/${fileBasename})",
   "open-php-html-js-in-browser.documentRootFolder": "C:\\xampp\\htdocs\\"}
  • php-class-helper : pour créer plus rapidement des class

(remarque: Il y a deux versions la plus récente a moins de popularité mais c'est une dérivée de la première)

Plus ancienne et plus populaire : php-class-helper de predrag-nikolic.php-class-helper
Plus récente, moins populaire mais plus : Class Helper de tiansin.php-class-helper

Quelques astuces en plus:

PHP & API

  • Un bon exemple PHP-API-JSON: [4]

Espace programmeurs et développeurs

=> https://www.webslesson.info/2016/03/read-excel-data-and-insert-into-mysql-database-using-php.html

Bibliographie et Webographie