MyDigitalHorse
- Epreuve de Programmation Orientée Objet
Afin de bénéficier des Namespace
ainsi que du var_dumper
Dans votre terminal à la racine du projet, exécutez la commande suivante :
docker-compose up -d
docker exec -it poo_mds composer install
Application accessible sur https://localhost Pensez à accepter les certificats auto-signés.
possible également de lancer vos tests ainsi :
docker exec -it poo_mds php -f public/index.php
Dans votre terminal à la racine du projet, exécutez la commande suivante :
composer install
Pour lancer vos tests :
php -f public/index.php
On souhaite représenter une écurie de compétition sous forme objet.
Nous allons donc définir chacune des classes nécessaires.
Il est possible en fonction de votre réflexion d'en créer d'autres (et probablement conseillé 😉).
Propriété | Optionnel | Type |
---|---|---|
Nom | false |
string |
Address | false |
string |
Street | false |
string |
PostCode | false |
string |
City | false |
string |
Manager | true |
Manager |
Affiche des informations pertinentes sur l'écurie sélectionnée
Propriété | Optionnel | Type |
---|---|---|
Nom | false |
string |
Address | false |
string |
Street | false |
string |
PostCode | false |
string |
City | false |
string |
Categorie | true |
Categorie |
Affiche des informations pertinentes sur l'humain sélectionné
Propriété | Optionnel | Type |
---|---|---|
A définir |
Affiche des informations pertinentes sur le Manager sélectionné
Propriété | Optionnel | Type |
---|---|---|
A définir |
Affecte à un Cavalier le type de jeu qu'il peut pratiquer
Affiche des informations pertinentes sur le Cavalier sélectionné
Propriété | Optionnel | Type |
---|---|---|
A définir |
Affiche des informations pertinentes sur l'animal sélectionné
Propriété | Optionnel | Type |
---|---|---|
id | false |
string |
color | false |
string |
water | false |
int |
Rider | true |
Rider |
⚠ L'identifiant doit être généré suivant le pattern : 000-n-C-N
Où n
est la première lettre du nom
C
est la première lettre de la couleur
Et N
est le nombre d'équidés créés au moment de la création de celui-ci.
Les couleurs possibles sont ['Alzan', 'Bai', 'Pie', 'Grey', 'White']
Affecte la catégory d'équidé seulement 3 choix possible ['Sheitland', 'Poney', 'Horse']
Affecte un Cavalier au cheval, nous limiterons la possibilités pour un Cavalier d'avoir uniquement 5 Equidés
(Penser aux différentes interactions)
Affiche des informations pertinentes sur l'équidé sélectionné
Propriété | Optionnel | Type |
---|---|---|
A définir |
4 capacités possibles ['Saut', 'Dressage', 'Cross', 'PoneyGames']
Attention les chevaux
ne peuvent pas participer aux PoneyGames
Affiche des informations pertinentes sur la capacité sélectionnée
Propriété | Optionnel | Type |
---|---|---|
MaxCommitments | false |
int |
MaxWater | false |
int |
A définir |
Il n'est pas possible d'inscrire deux fois un même cheval pour un événement donné.
Permet d'inscrire un équidé à l'évènement.
⚠ Suite aux restrictions écologiques l'évènement est limité dans sa capacité d'eau. Pensez bien à vérifier ce que chaque équidé consomme.
Affiche des informations pertinentes sur l'événement sélectionné
- Dans le fichier qui vous semble le plus pertinent décrivez votre jeu de test avec les réponses attendues en commentaires.
Il doit être possible pour le correcteur en lançant votre application de vérifier en un coup d'oeil que tout a été prévu 😈
- Vous devez créer :
- Une écurie
- Un manager
- Des Cavaliers
- Des Chevaux, Poney, Sheitland
- Des Evenements et y inscrire un maximum de participants
- Utiliser et contrôler toutes les méthodes créées.
- Tous les contrôles passeront par des exceptions.
- Respecter les principes SOLID.
- Respecter les bonnes pratiques GIT.
- Livrer l'adresse du Repository.