PHP Principes fondamentaux

Bon à savoir

Objectifs de la formation

Faire acquérir aux participants les bases fondamentales de création d’une application web avec le langage PHP. Connaissances de la communication du client avec le serveur.

Description

Le contenu est actualisé régulièrement. Le parcours pédagogique se présente sous la forme d'un projet d'application web réalisé par chaque participant. Des travaux pratiques ont lieu tout au long de la formation, qui mènent progressivement les participants à corriger leurs erreurs. L'accent est mis sur les bonnes pratiques.

Matériel pédagogique fourni

Le formateur distribuera les supports de la formation en format électronique à la fin de la formation.

D'autre part, le travail pendant ces 3 jours donnera lieu à la création d'une application web versionnée étape par étape. Chaque participant est invité à garder sur sa machine le code du projet de formation, qu’il aura rédigé lui-même avec l’aide du formateur, car ce code pourra servir de base technique pour de futurs projets.

Pré-requis

Afin de pouvoir profiter pleinement de la formation, les participants devront impérativement avoir une expérience professionnelle préalable dans les domaines suivants :

  • développement PHP orienté objet
  • utilisation d'une base de données relationnelle

Les participants devront avoir un ordinateur avec les droits admin, leur permettant de faire les exercices proposés tout au long de la formation, avec un environnement LAMP comprenant de préférence les éléments suivant :

  • Une connexion internet permettant l'installation d'extensions PHP et de paquets depuis packagist et le travail en toute aisance (si formation hors de nos locaux)
  • Un IDE maîtrisé (PHPStorm, SublimeText, VSCode, ...)
  • Un shell UNIX
  • Une version de PHP actuellement supportée (https://www.php.net/supported-versions.php)
  • Git installé (utile pour des dépendances de composer)
  • Un serveur MySql/MariaDB par personne
  • Les droits d'administrateur sur la machine

Il est conseillé de permettre aux participants d'utiliser un éditeur de texte avec lequel ils se sentent le plus à l'aise afin de se concentrer au maximum sur la formation. Il n'est pas nécessaire d'installer Symfony, cette partie sera couverte pendant la formation.

Plus généralement, si la formation se déroule dans les locaux du client, il est demandé qu'une salle permettant d'accueillir l'ensemble des participants ainsi que le formateur soit réservée pendant l'intégralité de la durée de la formation. Un moyen de présentation écran (projecteur ou téléviseur plat de grande taille) devra être présent dans cette salle afin de permettre aux participants de visualiser l'écran du formateur. Un paperboard ou tableau effaçable et une connexion internet seraient également appréciés.

Adaptation des locaux aux stagiaires en situation de handicap

Nantes:

Nos locaux se situant dans un immeuble construit en 2023, il répond ainsi aux normes d'accessibilité aux personnes à mobilité réduite, nous sommes situés au premier étage avec ascenseur.

Caen:

Les locaux sont de plein pieds, l’accès par l’arrière du bâtiment est possible pour les publics en situation de handicap.

N’hésitez pas à nous contacter, nous nous ferons un plaisir de vous accompagner pour répondre au mieux à vos besoins pour votre demande de formation.

Le programme

  1. Historique

    1. Site statique vs dynamique

    2. Client / Serveur

    3. Langage interprété != compilé

    4. Réputation

      1. Comparatif de perf entre les versions

  2. Préparer son environnement de travail

    1. Setup Apache / PHP / Mysql

      1. Windows

      2. Mac

      3. Linux

    2. Les éditeurs

      1. PHPStorm

      2. Vscode

  3. Error reporting: php.ini

  4. La syntaxe du langage

    1. Variables

    2. Structures de contrôle

    3. Array

    4. Fonctions

    5. Spécificité PHP

  5. Programmation orientée objet (POO)

    1. Classe

      1. Variables

      2. Méthodes

      3. Constructeur

      4. Visibilité

      5. Classe abstraite

      6. Heritage

      7. Interface

      8. Feature

      9. Syntaxe spécifique (instanceof, méthodes magiques)

    2. Refacto du code actuel vers de l’objet

    3. Namespace

    4. Autoloading

      1. Faire son propre autoloading

      2. Composer

      3. Packagist

        1. Version

        2. composer.lock

        3. Bootstrapper composer + utiliser l’autoloading de composer + installer et utiliser une lib

  6. Transmission de données

    1. Via URL

      1. Formulaire en method GET

      2. Faire une recherche via URL

    2. Via Formulaire

      1. Formulaire en method POST

      2. Ajouter un élément

    3. Les super globales

    4. Session et Cookies

      1. Connexion avec un cookie

    5. Lecture / Écriture fichier

      1. Faire de la persistance via un fichier json

  7. Gestion des données (via PDO)

    1. Script SQL à fournir et exécuter

    2. phpMyAdmin

      1. Install

    3. Lecture

      1. Faire une classe responsable de la lecture des éléments

    4. Écriture

      1. Faire une classe responsable de l’écriture des éléments <= fin matinée 3

    5. Faire une petite ouverture avec Symfony

      1. Exemple de ce qui est facilité avec Sf

      2. Autoloading

      3. Config

  8. Avancé

    1. Tools (PHPStan, php-cs-fixer, PHPUnit)

    2. Design patterns

    3. Reflection

Témoignages

Victor P. - April Marine

« La formation répondait tout simplement à mon besoin. Merci pour votre accueil ! »

Valentin C. - Web ID

« Merci à Antoine, c'était top d'apprendre React avec toi. »

Gabriel P. - Web ID

« GG à Antoine pour la formation, ça faisait plaisir de le revoir hors du contexte Yousign ! »

Ils recommandent nos formations