Parse error bij functie parameters

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thijs Damen

Thijs Damen

11/05/2009 17:30:00
Quote Anchor link
Hallo phpers,

ik loop hier tegen een probleempje aan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
public function logError($p_sLogline, $p_bForceLog = true, $p_sLogfile = $this->m_sLogfile, $p_sLoglocation = $this->m_sLoglocation) {


dit geeft mij een Parse error. Ik weet dat het komt door de

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$p_sLogfile = $this->m_sLogfile, $p_sLoglocation = $this->m_sLoglocation.


Want

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$p_sLogfile = '', $p_sLoglocation = '') {

werkt wel.

Waarschijnlijk is het omdat PHP variable niet toestaat om meegegeven te worden aan parameters? klopt dit, of is er iets anders aan de hand?

(volledige code: http://pastebin.com/mb2cd341
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
 
PHP hulp

PHP hulp

24/11/2024 00:23:52
 

11/05/2009 17:34:00
Quote Anchor link
In de functie kijken of de parameter is geset, anders een standaart waarde zetten.
 
Thijs Damen

Thijs Damen

11/05/2009 17:36:00
Quote Anchor link
Karl. De parameter is geset.
Als ik het volgende toevoeg. Direct na de functie
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if ($p_sLogfile == '') { $p_sLogfile = $this->m_sLogfile; }
if ($p_sLoglocation == '') { $p_sLogLocation = $this->m_sLoglocation; }


Worden beide netjes gevult. (mits in de functie aanroep de vars niet specifiek geset worden)
 
PHP erik

PHP erik

11/05/2009 17:38:00
Quote Anchor link
Dat moet je ook zo doen. Een $this in je parameters kan niet. PHP parset namelijk eerst de method voordat ie het überhaupt gaat uitvoeren. Bij het parsen kijkt ie dan of er een constante waarde is toegekend, waarbij een $this dus niet kan, want die is niet constant.

Je moet dus gewoon de if-constructie gebruiken en in je parameters alleen maar met constante waardes werken.
 
Thijs Damen

Thijs Damen

11/05/2009 17:44:00
Quote Anchor link
Dat is wat ik bedoelde met

Waarschijnlijk is het omdat PHP variable niet toestaat om meegegeven te worden aan parameters? klopt dit, of is er iets anders aan de hand?

Thanks a lot :)
 

11/05/2009 18:42:00
Quote Anchor link
PHPerik schreef op 11.05.2009 17:38:
Dat moet je ook zo doen. Een $this in je parameters kan niet. PHP parset namelijk eerst de method voordat ie het überhaupt gaat uitvoeren. Bij het parsen kijkt ie dan of er een constante waarde is toegekend, waarbij een $this dus niet kan, want die is niet constant.

Je moet dus gewoon de if-constructie gebruiken en in je parameters alleen maar met constante waardes werken.

Dit bedoelde ik dus ook, alleen dan zonder uitgebreide uitleg.
 



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.