[TYPO3-UG Dutch] class met global waardes beoordelen. goed opgezet of kan het slimmer/beter?

W.S.M. Perquin [YniVerse] perquin at yniverse.nl
Sun Sep 18 10:22:26 CEST 2011


In de setup van de betreffende template staat de volgende typoscript code:

includeLibs.user_testgebruik = fileadmin/scripts/testgebruik.php

page.30 = USER_INT

page.30.userFunc = user_testgebruik_class->test1

page.40 = USER_INT

page.40.userFunc = user_testgebruik_class->test2

 

Onderstaand de class (het is een test class) die ik heb gemaakt en die doet
wat ik wil. Ik wil namelijk eenmalig een variabele vullen (hier als
voorbeeld $declaredVar genaamd). Zometeen wordt de waarde van deze variabele
gevuld met het resultaat uit een query. Deze query wil ik maar 1 keer
uitvoeren en het resultaat meerdere keren gebruiken in de verschillende
class functies. Als ik in de class user_testgebruik_class een __construct
maak en daar die var in plaats merk ik dat hij twee maal wordt uitgevoerd.
(een keer bij de aanroep van test1 en daarna nog een keer bij de aanroep van
test2). Met onderstaand werkt het prima, maar heb het gevoel dat dit niet
helemaal is zoals het hoort. Kan ik deze class niet slimmer opzetten? Het
gebruik van "global" klinkt/voelt zo ouderwets. Het script ziet er nu als
volgt uit

 

<?php

 

$declaredVar="I am a declared variable.".time();

//een slaap stand om ervoor te zorgen dat bij nieuwe aanroep de tijd
daadwerkelijk verschillend is

sleep(2);

class user_testgebruik_class {

 

                function test1()

                {

                               global $declaredVar;

                               echo $declaredVar.'test1';

                }

                function test2()

                {

                               global $declaredVar;

                               echo $declaredVar.'test2';

                }

}

?>

 

 

W-P



More information about the TYPO3-UG-Dutch mailing list