PHP waardes willen niet uit class komen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 02:04

aex351

I am the one

Topicstarter
Ik heb een probleem en ik weet niet hoe ik het kan oplossen. Ik heb al op php.net gekeken evenals gezocht op google maar daar heb ik geen antwoord kunnen vinden op me vraag.

Me probleem is dat ik gewoon geen waarde uit een lopende functie in een class kan halen.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//index.php
$FRAMEWORK_CLASS -> laad_module ('statistieken_module' , 'require_once', $DIR_MODULES, $DB_LINK_CLASS );

//framework.php
    public function laad_module ( $input, $methode, $DIR_MODULES, $DB_LINK_CLASS ) {
        //$DB_LINK_CLASS  = $this -> db  ;
        //require ('instellingen/conf.php');
        require (''.$DIR_MODULES.'/modules.php') ;
        if ( $input == $modules[$input]['naam']) {
            if ($methode == 'require_once' ) {
                require_once ($modules[$input]['dir']) ;
            }
        }
    }
//modules.php
$modules['statistieken_module']['dir']  = ''.$DIR_MODULES.'/statistieken_module/mensen_online.php' ;    
$modules['statistieken_module']['naam'] = 'statistieken_module';

//statistiekenscript.php (stukje) alleen kijkent naar return
        $tmp = array () ;
        
        $sql2 = $DB_LINK_CLASS -> db_exec_query ("SELECT activity 
                                                 FROM statistieken_mensenonline 
                                                 WHERE UNIX_TIMESTAMP(activity) >= $limit_time
                                                 GROUP BY ip_address"); 
        $tmp['online_mensen'] = $online_mensen = $DB_LINK_CLASS -> db_num_rows($sql2); 
return $tmp ;


Nu wil php $tmp op geen enkel mogelijke manier terug geven, als ik echo / print_r $tmp doe dan krijg ik wel gewoon de output midden op me scherm ge'echoed. Maar omdat ik het toch nodig heb in andere gedeeltes van me script moet ik de waarde zien de krijgen.

PHP:
1
$STOPWAARDEHIER = $FRAMEWORK_CLASS -> laad_module ('statistieken_module' , 'require_once', $DIR_MODULES, $DB_LINK_CLASS );

werkt ook niet

Heeft iemand een idee ?

[ Voor 20% gewijzigd door aex351 op 31-07-2005 16:05 ]

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

'return' is om te bruiken in een functie/methode om een waarde terug te geven. Jij gooit het nu in een stukje procedurele code neer als ik het zo zie :?

Je laad_module() methode geeft niks terug met 'return', maar daar probeer je dan wel weer wat van terug te kijgen in je laatste poging.

[ Voor 77% gewijzigd door Bosmonster op 31-07-2005 17:01 ]


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 02:04

aex351

I am the one

Topicstarter
Bosmonster schreef op zondag 31 juli 2005 @ 16:58:
'return' is om te bruiken in een functie/methode om een waarde terug te geven. Jij gooit het nu in een stukje procedurele code neer als ik het zo zie :?
bedankt voor je reactie, ik had het probleem al opgelost.

Idd ik mix OOP met proce .. , komt omdat ik bezig ben delen naar OOP te converteren.
Ik heb overigens het probleem opgelost door de return () in de laad_module() functie te zette in de class waardoor het wel de waarde terug geeft.

mixen moet toch geen probleem wezen ?

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

aex351 schreef op zondag 31 juli 2005 @ 17:02:
[...]

bedankt voor je reactie, ik had het probleem al opgelost.

Idd ik mix OOP met proce .. , komt omdat ik bezig ben delen naar OOP te converteren.
Ik heb overigens het probleem opgelost door de return () in de laad_module() functie te zette in de class waardoor het wel de waarde terug geeft.

mixen moet toch geen probleem wezen ?
Ehm nee, maar je kunt beter kiezen :) Hou het of procedureel (an sich niks mis mee). Of bouw het om naar OO.

Een halve mix wordt niemand wijzer van :P Zeker niet de developers die met de code moeten werken.