Connection op halen in een class
Ik heb een soort van kleine ORM gemaakt en die moet de connectie met de database ergens vandaan halen.
Zelf kon ik de volgende manieren bedenken (die ook werken maar volgens mijn niet de bedoeling zijn):
1. gebruik maken van een global.
Code (php)
2. de connection class static maken
Code (php)
Wat is een goede manier om de connection op te halen?
Gewijzigd op 15/12/2013 00:00:23 door Local Dev
Het probleem is een beetje dat de ORM altijd de parent class zal zijn. Bijvoorbeeld:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
class User extends ORM {}
// En dan wil ik zoiets kunnen doen
$user = (new User())->find(1);
?>
class User extends ORM {}
// En dan wil ik zoiets kunnen doen
$user = (new User())->find(1);
?>
Om dan elke keer de db verbinding mee te sturen is niet erg lekker werken. En als je in frameworks kijkt gebeurt dat ook nooit. Maar hoe ze het daar wel doen, heb ik nog niet kunnen ontdekken :D
Gewijzigd op 15/12/2013 00:03:54 door Rob van der W
En dat dat niet gewenst is één van de minst belangrijke redenen om een user niet ORM te laten extenden. Een ORM is een Object Relation Manager. Dus een tussenpersoon tussen het Object en de Database (Relation). Zoals het altijd met tussenpersonen werkt mag een Object dus niet van de Database weten en andersom. Gebruik dus liever het datamapper design pattern, of gebruik models, of iets in die trant, maar geen Active Record.