[oop] waarom geen warning/notice?
Wat is het voordeel om een autoloader zaken te laten regelen waar de autoloader niet voor bedoeld is?
Naar mijn mening is het bad practise om classes te initialiseren in een autoloader, maar hoort dit thuis op een andere plaats.
Naar mijn mening is het bad practise om classes te initialiseren in een autoloader, maar hoort dit thuis op een andere plaats.
>> Het zorgt er wel voor dat overal waar je die statische classe gebruikt je afhankelijk bent van die specifieke autoloader....
Ja, dat klopt inderdaad.
>> Naar mijn mening is het bad practise om classes te initialiseren in een autoloader, maar hoort dit thuis op een andere plaats.
Het probleem is dat ik die class gelijk wil kunnen gebruiken. Het kan niet zo zijn dat ik telkens voordat ik een functie aanroep, de initialize method aanroep.
Maar wat is dan het alternatief? Bij iedere functie-aanroep controleren of de class is geinitialiseerd lijkt me ook niet bepaald een goed idee.
Suggesties?
Ja, dat klopt inderdaad.
>> Naar mijn mening is het bad practise om classes te initialiseren in een autoloader, maar hoort dit thuis op een andere plaats.
Het probleem is dat ik die class gelijk wil kunnen gebruiken. Het kan niet zo zijn dat ik telkens voordat ik een functie aanroep, de initialize method aanroep.
Maar wat is dan het alternatief? Bij iedere functie-aanroep controleren of de class is geinitialiseerd lijkt me ook niet bepaald een goed idee.
Suggesties?
Maar nu ga je dus op voorhand allerlei classes initialiseren, terwijl je niet eens weet of je die classes wel nodig hebt?
Ik wil dus dat het initialiseren gebeurt op het moment dat je de class ook daadwerkelijk gebruikt. Vandaar mijn idee om vanuit de autoloader te initialiseren.
Een alternatief is dat ik in hetzelfde bestand waar de class in staat, onder de class de init method aanroep, alleen dan staat er dus ineens code buiten de class. Dat vind ik niet echt mooi.
Ik wil dus dat het initialiseren gebeurt op het moment dat je de class ook daadwerkelijk gebruikt. Vandaar mijn idee om vanuit de autoloader te initialiseren.
Een alternatief is dat ik in hetzelfde bestand waar de class in staat, onder de class de init method aanroep, alleen dan staat er dus ineens code buiten de class. Dat vind ik niet echt mooi.
Nee, ik ga niet op voorhand alle classen initialiseren, ik zorg ervoor dat ik ze kan aanroepen wanneer nodig, de autoloader is niet meer als een classmap, of te wel een landkaart van alle classen.
Application::init() Doet niet anders dan de basis applicatie laden en alleen de benodigde classen te laden die het mogelijk maken dat de applicatie ook werkt.
Nooit maar dan ook nooit vanuit de autoloader een class initialiseren!! Je vraagt toch ook niet aan de buurman om even geld voor jou te pinnen met jouw bankpas en pincode??
Application::init() Doet niet anders dan de basis applicatie laden en alleen de benodigde classen te laden die het mogelijk maken dat de applicatie ook werkt.
Nooit maar dan ook nooit vanuit de autoloader een class initialiseren!! Je vraagt toch ook niet aan de buurman om even geld voor jou te pinnen met jouw bankpas en pincode??
>> Nooit maar dan ook nooit vanuit de autoloader een class initialiseren!! Je vraagt toch ook niet aan de buurman om even geld voor jou te pinnen met jouw bankpas en pincode??
Deze vergelijking volg ik even niet.
Het gaat dus om statische classes. Classes waar maar 1 instantie van is. Om die class te gebruiken moet ie geinitialiseerd worden. Waarom zou de autoloader dat niet kunnen doen als een soort van magische aanroep? (Het gebeurt alleen bij classes die de juiste interface implementeren.)
Deze vergelijking volg ik even niet.
Het gaat dus om statische classes. Classes waar maar 1 instantie van is. Om die class te gebruiken moet ie geinitialiseerd worden. Waarom zou de autoloader dat niet kunnen doen als een soort van magische aanroep? (Het gebeurt alleen bij classes die de juiste interface implementeren.)
Ja, iedereen heeft zo zijn eigen mening hoe dit zou moeten :-) ..... zet 5 programmeurs bij elkaar, en je krijgt vaak 5 verschillende meningen :D
Het enigste wat ik kan zeggen, is maak het hoe jij vind dat het moet zijn, en luister niet naar anderen, en verbeter het met de ervaring die je ervan opdoet.
Ps, is er een mogelijkheid dat ik jouw framework kan bekijken (GitHub, Bitbucket of iets dergelijks) ?
Het enigste wat ik kan zeggen, is maak het hoe jij vind dat het moet zijn, en luister niet naar anderen, en verbeter het met de ervaring die je ervan opdoet.
Ps, is er een mogelijkheid dat ik jouw framework kan bekijken (GitHub, Bitbucket of iets dergelijks) ?
>> Het enigste wat ik kan zeggen, is maak het hoe jij vind dat het moet zijn, en luister niet naar anderen, en verbeter het met de ervaring die je ervan opdoet.
Dat is een goed advies. Het lastige is dat ik vooral hoor "je moet het niet zo doen", maar ik hoor vervolgens geen (werkbare) oplossing hoe ik het dan wel zou moeten doen. Dus tja.. wat moet je er dan mee... :-s
>> Ps, is er een mogelijkheid dat ik jouw framework kan bekijken (GitHub, Bitbucket of iets dergelijks) ?
Nee, staat alleen op m'n server :)
Dat is een goed advies. Het lastige is dat ik vooral hoor "je moet het niet zo doen", maar ik hoor vervolgens geen (werkbare) oplossing hoe ik het dan wel zou moeten doen. Dus tja.. wat moet je er dan mee... :-s
>> Ps, is er een mogelijkheid dat ik jouw framework kan bekijken (GitHub, Bitbucket of iets dergelijks) ?
Nee, staat alleen op m'n server :)




