Quelqu'un a-t-il un exemple d'utilisation simple? P>
https://fatfreeframework.com/3.6/quick-Reference#Container page
Semble me semble pas vraiment explicatif, mais il faut généralement comprendre une bonne façon d'injecter auto-injecter $ db_connection code> objet juste lorsque / si nécessaire, par exemple.
Dans la méthode
BEFFOREROUTE () de Class's Beforeroute () CODE> Résolution de l'itinéraire lisse P>
3 Réponses :
Alors, j'ai opté pour Singleton:
// classe de base de données
// contrôleur principal: $ F3-> route ('get / yoo', fonction ($ f3) {$ connexion = $ F3-> appel ('f3pdo :: geInstance') -> Connect (); echo '
Désolé pour la manimeté, je viens de découvrir pour moi-même intégré \ Prefab Class (pour être étendu à des singletons), donc la connexion DB ci-dessus que je préfère faire comme%: } p> p>
Lorsque vous portez Selfoss d'utiliser DI, j'ai choisi des dés comme suggéré dans les documents que vous avez liés. J'ai configuré le conteneur pour n'utiliser qu'une seule instance partagée de la classe DB et la transmettre la chaîne de connexion: puis f3 utilisera le conteneur de dés pour créer des classes afin de créer des classes afin de créer des contrôleurs et de tout Les dépendances seront transmises aux dépendances instanciées du constructeur: p> voir le Code source Selfoss pour un exemple complet de la configuration du conteneur de dépendance. P> P>
$ F3-> SET ('dB', nouveau \ db \ sql (...)); code> et
$ F3-> obtenir ('dB') code> où vous avez besoin IT .. pour de vrai di, vous pouvez utiliser n'importe quel conteneur di-11 compatible PSR-11. Il vous suffit de définir son nom de classe sur la variable de conteneur .. Plus d'idées ici: GITUB.COM/BCOSCA/FATFREE-CORE/Pull/221
D'accord, pour le garder simple, tout en résolvant les itinéraires: il s'agit d'une première préoccupation d'avoir besoin de «dB» uniquement si aucune connexion DB n'est présente (à gauche des connexions précédentes). Alors, est-ce agréable de: $ F3-> route ('get /', fonction ($ f3) {$ f3-> obtenir ('db'); 'inconvénient: structure'}); Ou mieux obtenir 'db' dans la méthode __Construct () de Construction ()? Je veux juste m'assurer que la connexion est vraiment nécessaire (pas persisté du passé) avant d'inclure / d'injection. Donc, peut-être en effet au-dessus de la même façon, c'est bien d'aller (le plus simple et sûr) avec l'argument de PDO Cadre: attr_persistent => faux?