on met le flag dans la classe qui gère le vol.
il y a 3 rôles en fait, concernant le vol :
_ orpheline : pas de vol
_ membre : en lien avec un vol
_ fondateur : membre + fondateur
je pense que la seelies devrait avoir un champ vol, membre de la classe vol. et tout ce qui gère le vol se trouverait dedans.
comment initialiser ce champ dans la seelies ?
_ on peut avoir un champ dans seelies indiquant le rôle, et selon ce rôle, la possibilité d'exécuter ou non certaines méthodes ( bof bof )
_ selon le rôle récupéré à la création de l'objet seelies, on instancie vol en l'une ou l'autre des classes spécialisées en vol ( orpheline, membre ou fondateur ), classes héritant d'une classe vol de base ou implémantant une interface vol
pour le code actuel de ton script, on peut l'améliorer pour profiter des concepts objets :
principe objet : on programme en objet pour se simplifier la vie et gagner du temps ( et ainsi faire des trucs de geeks, comme boire du café, baston de missiles USB et intégrale X-files )
ce qui fait perdre du temps, c'est le changement. ce qui peut changer pour le vol ?
on peut imaginer un droit d'inscription à un vol, une sorte de club privé... dans ce cas on doit modifier le source du script :
on doit ajouter un champ ressource, donc ajouter au script :il y a 3 rôles en fait, concernant le vol :
_ orpheline : pas de vol
_ membre : en lien avec un vol
_ fondateur : membre + fondateur
je pense que la seelies devrait avoir un champ vol, membre de la classe vol. et tout ce qui gère le vol se trouverait dedans.
comment initialiser ce champ dans la seelies ?
_ on peut avoir un champ dans seelies indiquant le rôle, et selon ce rôle, la possibilité d'exécuter ou non certaines méthodes ( bof bof )
_ selon le rôle récupéré à la création de l'objet seelies, on instancie vol en l'une ou l'autre des classes spécialisées en vol ( orpheline, membre ou fondateur ), classes héritant d'une classe vol de base ou implémantant une interface vol
pour le code actuel de ton script, on peut l'améliorer pour profiter des concepts objets :
principe objet : on programme en objet pour se simplifier la vie et gagner du temps ( et ainsi faire des trucs de geeks, comme boire du café, baston de missiles USB et intégrale X-files )
ce qui fait perdre du temps, c'est le changement. ce qui peut changer pour le vol ?
on peut imaginer un droit d'inscription à un vol, une sorte de club privé... dans ce cas on doit modifier le source du script :
Code PHP :
<?php
//code original
$orpheline = new Orpheline($_SESSION['seelie']);
if($orpheline->isValidName($_POST['name']) && $orpheline->isValidDescription($_POST['description'])){
$orpheline->createFlight($_POST['name'], $_POST['description']);
}
_ $orpheline->isValidRessource($_POST['ressource']) dans le test
_ $_POST['ressource'] en paramètre de createFlight
( tout ça en plus de changer le formulaire et la classe )
on va faire un code qui résiste au changement : on ne devra pas changer le script si on ajoute un champ.
ce qui change : le champ en plus, d'où test en plus et paramètre en plus
ce qui ne change pas : on traite toujours un tableau, en l'occurence $_POST
=> on fabrique des méthodes utilisant des tableaux, les index seront traités dans la classe
=> on fabrique un test générique : isValid( $array ), les tests en plus lui seront ajoutés dans la classe
on obtient le script :
Code PHP :
<?php
//code plus évolutif
$orpheline = new Orpheline($_SESSION['seelie']);
if( $orpheline->isValid($_POST) ){
$orpheline->createFlight($_POST);
}