PHP constructor ziet methode niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk de Vries

Henk de Vries

16/08/2015 21:11:08
Quote Anchor link
Hallo,

Ik loop op het moment tegen een probleem aan.

Ik wil graag alle mogelijke informatie setten binnen de constructor van het object.
Maar het probleem is, is dat ik een omrekensom van minuten (welke de constructor heeft) naar seconden wil maken. Ik heb de Methode om het om te rekenen dan ook in de class staan, maar deze kan helaas niet aangeroepen worden.

In de constructor:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$this->duration = calculateDurationInSeconds($time);

en de methode
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
public function calculateDurationInSeconds($time)

staat onder aan de class.

Ik neem aan dat de methode nog niet ingelezen is op het moment dat de constructor wordt uitgevoerd.
Wat kan ik hier tegen doen?

alvast bedankt!
Gewijzigd op 16/08/2015 21:17:56 door Henk de Vries
 
PHP hulp

PHP hulp

23/12/2024 16:25:33
 
Frank Nietbelangrijk

Frank Nietbelangrijk

16/08/2015 21:17:31
Quote Anchor link
Waarschijnlijk moet het zijn

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$this
->duration = $this->calculateDurationInSeconds($time);
?>


Hetgeen overigens een beetje "dubbel this" is dus ik stel voor dat je $this->duration gewoon direct in de method calculateDurationInSeconds gaat setten en dan kan bovenstaande regel ingekort worden tot:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$this
->calculateDurationInSeconds($time);
?>
 
Henk de Vries

Henk de Vries

16/08/2015 21:20:09
Quote Anchor link
Frank Nietbelangrijk op 16/08/2015 21:17:31:
Waarschijnlijk moet het zijn

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$this
->duration = $this->calculateDurationInSeconds($time);
?>


Hetgeen overigens een beetje "dubbel this" is dus ik stel voor dat je $this->duration gewoon direct in de method calculateDurationInSeconds gaat setten en dan kan bovenstaande regel ingekort worden tot:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$this
->calculateDurationInSeconds($time);
?>



Het probleem is opgelost. Bedankt voor de snelle reactie!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.