/
main.php
47 lines (36 loc) · 1.91 KB
/
main.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/**
* C'est dans ce fichier que toute l'utilisation de l'application va se dérouler
*
* Pour commencer, essayons de créer un expert technique :
*/
use App\Models\ExpertTech; //Grâce à l'autoload, on peut utiliser le use pour charger notre model
$expert = new ExpertTech([
'firstname' => 'bob', //ExpertTech étends collaborateur, il faut aussi préciser les champs de collaborateur
'name' => 'doe',
'birthDate' => new DateTime('23-11-1999'),
'address' => '3 rue du test',
'maritalStatus' => 'single',
'salary' => 1999.00,
'yearsInCompany'=> 0,
'departement' => 'Réalité Virtuelle',
'competences' => ['PHP', 'JS'],
'disponible' => true
]); //Il est possible que certains types fassent encore buguer l'application...
//Pour l'insérer dans la base de données, il faut utiliser la méthode create() :
$expert->create(); //En cas d'erreur, l'exception renvoyé contient le type problématique avec le nom de la colonne
//Dans le cas ou on voudrait récupérer notre expert, on pourrait le récupérer de deux façons:
$getExpert = ExpertTech::getById(1); //Avec L'ID
$getExpert = ExpertTech::whereEqual('name', 'doe'); //Avec son nom
//Les deux méthodes retournent un objet ExpertTech, on peut donc enchainer les méthodes dessus...
var_dump($getExpert);
//...Par exemple pour le supprimer
try {
$delExpert = ExpertTech::getById(10)->delete(); //Cause une erreur si delete est appelée sur un élément qui n'existe pas...
}
catch(\Error $e){}; //Dans le cadre de l'exemple, on ignore l'erreur ici pour continuer l'éxecution du code
//On peut enchainer getById et delete pour le supprimer.
//On peut aussi le modifier :
$updateExpert = ExpertTech::getById(1)->setFirstname('doe');
//en utilisant les setters, la modification est automatiquement enregistré en base de données si on appelle la méthode save() dans le setter
?>