Backend PHP (BPH) Help

Exercices de manipulation des classes

Exercice 0

  1. Créez un repository public avec un README sur GitHub, appelez-le coda-bph-j5

  2. Créez un dossier classes dans le dossier coda-bph-j5

Exercice 1 : déclarer, instancier et utiliser une classe

Vous allez créer deux fichiers :

  • User.php

  • index.php

Dans le fichier User.php vous allez définir une classe User. Votre classe a 3 attributs :

  • id qui est un int

  • username qui est une string

  • password qui est une string

Cette classe doit avoir un constructeur ainsi que des getters et setters pour chacun des attributs.

Le constructeur doit recevoir les attributs dans ses arguments.

Dans le fichier index.php vous allez instancier deux instances de la classe User.

L'un avec l'id 1, le username admin et le password admin. La seconde avec l'id 2, le username user et le password user.

Vous allez ensuite utiliser ces instances pour faire un echo de leur id, leur username et leur password à chacune.

Exercice 2 : attributs par défaut et méthodes

Vous allez créer deux fichiers :

  • Character.php

  • index.php

Dans le fichier Character.php vous allez définir une classe Character. Votre classe a 3 attributs :

  • id qui est un int

  • firstName qui est une string, par défaut il a la valeur "Jane"

  • lastName qui est une string, par défaut il a la valeur "Doe"

Cette classe doit avoir un constructeur ainsi que des getters et setters pour chacun des attributs.

Le constructeur doit recevoir l'id et uniquement l'id dans ses arguments.

Votre classe doit en plus avoir une méthode publique getFullName qui renvoit une string contenant le firstName et le lastName, séparés par un espace.

Dans le fichier index.php, vous allez instancier une instance de la classe Character avec l'id 1.

Vous allez ensuite utiliser cette instance pour faire un echo de son nom complet.

Puis, vous allez utiliser ses setters pour qu'elle prenne le prénom "Sarah" et le nom de famille "Connor".

Refaites ensuite un echo de son nom complet.

Exercice 3 : la composition

Pour cet exercice pour aller créer trois fichiers :

  • Weapon.php

  • Character.php

  • game.php

Votre classe Weapon aura comme attributs :

  • name qui est une string privée

  • damages qui est un int privé

Elle aura un constructeur qui prend les attributs en argument. Elle aura un getter et un setter pour chacun des attributs.

Elle aura également une méthode publique strike qui retourne la string "Mais aïeuh! <br>".

Votre classe Character aura comme attributs :

  • name qui est une string privée

  • weapon qui est une Weapon privée

Elle aura un constructeur qui prend son attribut name en argument et initialise l'attribut weapon avec un name vide et des damages à 0.

Elle aura un getter et un setter pour chacun des attributs.

Elle aura également une méthode publique fight qui retourne le résultat de la méthode strike de sa weapon.

Dans votre fichier game.php, créez un personnage avec le name Ragnar.

Donnez lui ensuite une Weapon avec le name "Sword" et des damages de 10.

Affichez avec un écho le nom du Character, le name de sa weapon et les damages de sa weapon.

Affichez le résultat de sa méthode fight.

27 November 2025