Bonjour,
Je suis en train de creuser la question des Autoload en PHP pour charger l'ensemble des outils dont j'ai besoin, l'autoload fonctionne (pour avoir récupéré la base de quelqu'un d'autre ça n'a pas été bien compliqué.
Maintenant, il faut que je comprenne bien ce que je vois pour le ré appliquer.
La partie accès aux données, du SQL utilise PDO, j'ai donc créé une classe abstraite qui sera à dériver en fonction de la table à utiliser.
La définition de la classe de base d'accès aux données :
Mon fichier de conteneur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 namespace MonSite\Modele; use PDO; abstract class Modele { /* CODE DE LA CLASSE */ }
La fin du fichier d'autoload, qui charge ce dont le contrôleur 'Home' à besoin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 return [ "settings" => [ "viewTemplatesDirectory" => "../templates", "displayErrorDetails" => true, "db" => [ "pdoEngine" => "pgsql", "host" => "localhost", "port" => 5432, "user" => "monutilisateur", "password" => "monmotdepasse", "dbname" => "bdd" ], "phpMailer" => [ "host" => "mail.domaine.com", "username" => "nomutilisateur", "password" => "monmotdepasse", "port" => 587, "smtpAuth" => true, "smtpSecure"=> "ssl" ], ], 'twig' => [ 'title' => 'Mon site', "db" => function($c) { return $db = new PDO($c["settings"]["db"]); },
En fait, l'objectif est de lier à un contrôleur particulier n modèles qui correspondent aux tables à interroger.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Home::class => function ($c) { return new Home($c['view']); }
Est ce que ma question est claire ? j'utilise PSR-4 pour l'autoloading, Twig en moteur de template.
Partager