login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[OO] Return fout

Offline lasdesigner - 17/12/2006 17:15
Avatar van lasdesignerPHP beginner Hallo, ik heb een class in PHP4(omdat de server geen PHP5 heeft :S)
En nu heb ik dit:

  1. <?php
  2. function Login($user, $pass) {
  3. if(!empty($user) && !empty($pass)) {
  4. $this->user = $user;
  5. $this->pass = $pass;
  6.  
  7. return $this->Log();
  8. } else {
  9. return 0;
  10. }
  11. }
  12. ?>


  1. <?php
  2. $this->Log(); // Uitkomst: 4
  3. ?>


En nu roep ik deze functie aan (is een constructor) op de volgende manier:

  1. <?php
  2. $login = new Login('test', 'test');
  3.  
  4. switch($login) {
  5. //switch functie
  6. ?>


Maar dan krijg ik de volgende foutmelding:
Test Login

Notice: Object of class Login could not be converted to int in D:\wamp\www\IT\test.php on line 8

Notice: Object of class Login could not be converted to int in D:\wamp\www\IT\test.php on line 11
Fout

WAt doe ik fout?

5 antwoorden

Gesponsorde links
Offline timo - 17/12/2006 17:24
Avatar van timo PHP ver gevorderde je probeert van een object een int te maken aan die foutmelding te zien..
Offline lasdesigner - 17/12/2006 17:25
Avatar van lasdesigner PHP beginner Ja; maar dat snap ik niet; want ik return gewoon een getal?
Offline timo - 17/12/2006 17:25 (laatste wijziging 17/12/2006 17:26)
Avatar van timo PHP ver gevorderde wacht ik begrijp het.. je class heet ook Login neem ik aan?

oeps ja, je moet een var aanmaken waar de return waarde in staat kan je die oproepen met $login->var
Offline lasdesigner - 17/12/2006 17:27 (laatste wijziging 17/12/2006 17:29)
Avatar van lasdesigner PHP beginner wacht ik denk dat ik snap wta je bedoelt 


[edit]

Jaaaa je hebt gelijk:D

Ik moest gewoon doen $login = New Login('test', 'test') en dan:
$login->Log();

En dan doet die het, bedankt 

Nog een vraagje, met PHP 5 kon ik atlijd onderaan mijn DBM class zetten:

$dbm = new DBM; en kon ik in een andere class doen:
DBM::Functie();

Maar nu kan ik niet in een andere functie doen (zonder in DEZELFDE functie $dbm = new DBM neer te zetten):
$dbm->Functie(); doen, dat lukt niet meer? Waarom niet?
Offline timo - 17/12/2006 18:01
Avatar van timo PHP ver gevorderde de scope :: kan wel gewoon in PHP 4 voor zover ik weet hoor;-)

//50% offtopic:
moet dit topic niet in de cat Object Georienteerd?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s