Skip to content

Orzhov-Dev/hb-php-r5-2023

 
 

Repository files navigation

PHP - Human Booster - R5

Bases

intro

Variables, constantes, commentaires, fonctions de base de la SPL (var_dump, echo...)

Tableaux

intro : Déclaration, accès & modification

Tableaux associatifs : Clés personnalisées

Opérateurs

Array destructuring

Spread operator

Rappel boucles

Foreach & While sur un tableau d'utilisateurs

Quelques fonctions sur les tableaux en PHP

Inclusion de fichiers

Dossier file-inclusion

Atelier produits

À partir du fichier de produits, réalisez une page affichant la liste des produits et leurs informations, sous forme de grille dans une page.

Pour chaque produit, affichez également ses tags.

Fonctions

Atelier products : getTotalPrice

Fonction utilitaire echoWithBr

Arrondi à 0.5

Vous allez réaliser une fonction qui effectue un arrondi à 0.5 supérieur ou inférieur au plus proche suivant la valeur donnée Exemple : 0.234 => 0 1.56 => 1.5 1.27 => 1.5 1.12 => 1 1.25 => 1.5 ...

Vous réfléchirez au nom de cette fonction, à sa signature, et la manière dont vous l'implémentez Réalisez au moins une dizaine d'exemples qui démontreront le bon fonctionnement de votre fonction

Solutions

Insertion dans un tableau

Réaliser une fonction qui insère un élément dans un tableau. On fournira à la fonction le tableau dans lequel insérer l'élément, l'élément en question, et la position (l'index).

Par exemple, si j'ai le tableau [1, 2, 3] et que je veux insérer l'élément 4 à l'index 2, je me retrouverai avec [1, 2, 4, 3].

Bien sûr les index sont toujours positifs. On ne travaillera qu'avec des index numériques. Si on fournit un index plus grand que la taille du tableau, alors on proposera 2 implémentations différentes : la première renverra une erreur car l'index est en-dehors des limites, la seconde agrandira le tableau avec des éléments vides jusqu'à insérer l'élément voulu.

Solutions

Superglobales

Introduction, tableau $_GET

Atelier produits, fiche produit

Formulaires

Atelier produits, recherche par nom avec méthode GET

Programmation orientée objet

Introduction

Classe Product : Structure d'une classe, méthodes, encapsulation, constructeur

Classe User : Constante de classe, interface fluide (type de retour self dans les setters)

Atelier Voitureland

cars

Objectifs : écriture d'une classe, parcours d'un tableau d'objets, construction dynamique d'une liste select basée sur une partie des données présentes dans le tableau (années des voitures)

Réalisez une classe Car qui aura les attributs suivants : name, engine, year, km

Réalisez un tableau de Car que vous déposerez dans un fichier PHP, puis un moteur de recherche pour chercher les voitures par année

Pour l'année dans le moteur de recherche, générez une liste "select" en fonction des années qui se trouvent dans le tableau de voitures

Atelier Newsletter

newsletter

Objectifs : refactorisation en classes, gestion d'erreurs (exceptions)

Réaliser un petit système de newsletter :

  • Une page contenant un formulaire où renseigner son adresse mail
  • Développer un système qui détecte si l'adresse email est un spam ou non

Héritage

Produits rectangulaires et circulaires : poo-heritage

Objectifs : Héritage, portée protected, mot-clé static pour l'interface fluide, abstractions, polymorphisme

Abstraction, polymorphisme

Users, employés, clients : poo-users-emp-clients

Objectifs : Héritage, classe abstraite, méthode abstraite, polymorphisme

Objectifs : Abstraction, interfaces, polymorphisme

Pressing : pressing

Objectifs : Abstraction, interfaces, select list

File upload

file-upload

Objectifs : formulaires, enctype

Sessions

sessions

Objectifs : Sessions en PHP, retenir de la donnée côté serveur, cookie PHPSESSID

sessions-auth

Objectifs : Avant PDO, exemple d'authentification statique, simple, avec enregistrement en session

PDO

pdo-intro

Objectifs : Découverte de la classe PDO pour représenter une connexion à une base de données, DSN, Exceptions

Objectifs : requêtes non préparées, requêtes préparées

About

Fork ameliah

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 95.0%
  • CSS 3.4%
  • Hack 1.6%