Wanneer ik deze nu echter wil gebruiken in andere Classes moet ik deze per Functie aanroepen doormiddel van hem globaal op te halen of opnieuw toe te kennen.
Is het niet mogelijk om deze voor alle functies bereikbaar te maken zonder hem binnen iedere functie opnieuw aan te roepen.
Ik zat al te denken aan een Sessie maar weet niet of je hier dan een ongelofelijke memory overload mee genereert (de array bevat namelijk Text voor een bepaalde taal).
- Steeds de complete verbinding tot stand zetten met de betreffende class en per functie deze variabele zetten
- Een keer de variabele zetten en vervolgens met Global ophalen wanneer nodig.
PS. Define wilde toch niet helemaal werken, gaf namelijk: "Warning: Constants may only evaluate to scalar values"
Ik zie het probleem niet echt, je kunt deze variabele toch als parameter meegeven als je die andere klasses instantieert? Sla de variabele vervolgens op als property binnen die klasse en al je methodes in die klasse kunnen er over beschikking...
Als je het over statische methods hebt, zul je de variabele telkens als parameter aan de method zelf moeten meegeven. Maar goed, globaal maken van variabele doe je liever niet en dat is hier ook echt niet nodig.
@Leon: Was idd een typo in het voorbeeldje, had het niet zo in het echte script.
Als ik deze overal als Parameter meegeef wordt het er imo niet beter op, dit betekent dat iedere functie automatisch 1 parameter heeft terwijl dit niet echt nodig is lijkt mij, het is inderdaad een mogelijkheid, maar het lijkt mij niet de meest ideale omdat het daadwerkelijk in iedere functie met print to screen functionaliteit deze dan als parameter wordt meegegeven.
Ik weet natuurlijk niet hoe je applicatie in elkaar zit en wat voor inhoud die $uiText heeft of krijgt. Maar over het algemeen is het zo dat als methods in een klasse allemaal een bepaalde variabele nodig hebben, je deze variabele dan het beste als property in die klasse kunt opnemen.
En als deze variabele van buiten de klasse komt, betekent het dus dat je deze op een of andere manier erin moet krijgen. De makkelijkste manier om dat te doen is tijdens het instantieren van de klasse en de betreffende variabele dus als parameter aan de constructor mee te geven.
Dus iets van deze strekking:
<?php
$myObject = new myClass();
$myVar = $myObject->returnVar();