[OK]T_PAAMAYIM_NEKUDOTAYIM Fehlermeldung?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hast du das mal ausprobiert bei mir gibt das nämlich den Fehler hier:
Fatal error: Can't use function return value in write context in E:\eclipse\Test2\index.php on line 10
Getestet habe ich lediglich diese Zeilen:

Code: Alles auswählen

$const = 'SID';
echo 'ASDF' . empty(constant($const));
Oder auch

Code: Alles auswählen

$const = 'SID';
echo 'ASDF' . (empty(constant($const))? 1:0) . 'ASDF';
Denn nur echo 'ASDF' . empty($const) gibt bei mir irgendwie keine Ausgabe.
ohne das constant() funktioniert es jeweils einwandfrei.
Ich benutze jetzt einfach dieses if Konstrukt:

Code: Alles auswählen

if(defined('SID'))
	{
		$sid = SID;
		if($append_sid  && !empty($sid) && SID != 'SID')
		{
Die letzte Frage (SID != 'SID') ist überflüssig (sollte ursprünglich den Fall undefiniert abfangen, fand ich dann aber unsauber) so das auch das hier funktionieren sollte:

Code: Alles auswählen

if(defined('SID') && $append_sid && SID != '')
Ach so: Nur als Hinweis hintendran: empty nimmt nur Variablen, auch keine Funktionsergebnisse, das ist in der Referenz extra als Beispiel angegeben.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Eines noch zu dieser Fehlermeldung.

Normalerweise taucht sie auf, wenn man Methoden (aus Klassen) direkt ansprechen möchte und dabei die Syntax nicht beachtet.

Beispiel:

Code: Alles auswählen

$template::pparse('body');
erzeugt den Fehler. Weil man bei solch einem Aufruf kein $ an den Anfang setzen darf. Es müsste bei meinem Beispiel so lauten:

Code: Alles auswählen

template::pparse('body');
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
Antworten

Zurück zu „Coding & Technik“