Parse error bij functie parameters
ik loop hier tegen een probleempje aan.
Code (php)
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
Want
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
In de functie kijken of de parameter is geset, anders een standaart waarde zetten.
Als ik het volgende toevoeg. Direct na de functie
Code (php)
1
2
2
if ($p_sLogfile == '') { $p_sLogfile = $this->m_sLogfile; }
if ($p_sLoglocation == '') { $p_sLogLocation = $this->m_sLoglocation; }
if ($p_sLoglocation == '') { $p_sLogLocation = $this->m_sLoglocation; }
Worden beide netjes gevult. (mits in de functie aanroep de vars niet specifiek geset worden)
Je moet dus gewoon de if-constructie gebruiken en in je parameters alleen maar met constante waardes werken.
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 :)
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.
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.