Strict-Mode und Klassen

bofh1337

Erfahrenes Mitglied
Moin zusammen :)

Ich stehe gerade vor einem Rätsel, wie man PHP-Klassen bauen soll, die nicht vom Strict-Mode (PHP) angemeckert werden, scheinbar funktioniert das dort nur, wenn alle Methoden als Static deklariert sind und nirgenwo eine Referenz des Objectes geholt, sondern die Instance der Klasse.

Im Normalen Mode (Kein Strict) laufen diese Klassen aber absolut Fehlerfrei.

selbst ein:

PHP:
$var = pwcAddSlashes(self::get_user_nick());

wird vom Strict-Mode angemeckert, es herrscht da erst ruhe, wenn ich es so schreibe:

PHP:
$var = self::get_user_nick();
$var = pwcAddSlashes($var);

...das bläht aber den kompletten Code mächtig auf :/


Wie handhabt ihr solche Probleme?
 
Was willst du jetzt, klugscheissen oder Feedback auf eine Frage?

Wenn du die STRICT-Meldung beheben willst, dann behebe sie.
Wenn es dir zu viel Aufwand ist, sie zu beheben, ignoriere sie.

Es ging hier nicht um E_NOTICE .
Wenn E_NOTICE und E_STRICT dasselbe werden, gäbe es nicht diese beiden Level nebenher
 
Was willst du jetzt, klugscheissen oder Feedback auf eine Frage?

Wenn du die STRICT-Meldung beheben willst, dann behebe sie.
Wenn es dir zu viel Aufwand ist, sie zu beheben, ignoriere sie.

Es ging hier nicht um E_NOTICE .
Wenn E_NOTICE und E_STRICT dasselbe werden, gäbe es nicht diese beiden Level nebenher

Erst lesen, dann schreiben!
Hier hat kein Mensch etwas davon gesagt, das STRICT und NOTICE das gleiche wäre.

Falls du den ersten Beitrag hier überhaupt gelesen hast, solltest du wissen, was genau das Problem mit dem Strict-Mode und PHP-Klassen ist.
Ich kann nicht (nur weil Strict) eingeschaltet ist, alle Methoden als Static deklarieren, aber scheinbar war der Aufwand für dich zu gross, um konstruktive/Sachliche Antworten zu verfassen.
 
Erst denken, dann schreiben ;)

Du hast die Lösung selbst gepostet



aber du willst sie nicht nutzen



Moin zusammen :)

Ich stehe gerade vor einem Rätsel, wie man PHP-Klassen bauen soll, die nicht vom Strict-Mode (PHP) angemeckert werden, scheinbar funktioniert das dort nur, wenn alle Methoden als Static deklariert sind und nirgenwo eine Referenz des Objectes geholt, sondern die Instance der Klasse.

:rolleyes:
 
off topic, aber:
E_NOTICE kannst du ignorieren wie bofh1337 :-)
Sorry, das konnt ich mir jetzt nicht verkneifen. Fachlich nicht ganz einwandfrei aber sinngemäß korrekt. Ich meine, ich bin hier seit knapp sechs Jahren im Forum, schreibe mit PHP seit neun Jahren und musste mir von dem schon nach 2 Monaten Mitgliedschaft solche Beiträge antun. Vielleicht kann man ja auch solche User loswerden?
 
off topic, aber:
E_NOTICE kannst du ignorieren wie bofh1337 :-)
Sorry, das konnt ich mir jetzt nicht verkneifen. Fachlich nicht ganz einwandfrei aber sinngemäß korrekt. Ich meine, ich bin hier seit knapp sechs Jahren im Forum, schreibe mit PHP seit neun Jahren und musste mir von dem schon nach 2 Monaten Mitgliedschaft solche Beiträge antun. Vielleicht kann man ja auch solche User loswerden?

Ich verstehe deinen Beitrag nicht (vielleicht haben andere kappiert, was du sagen wolltest), aber Notice-Meldungen ignoriere ich nicht, weil sie auf unsauberes Programmieren hinweisen würden (und auf eventuellen defekten Code, der nur halbherzig arbeitet => Einträge in DB löschen, welche nicht "01.01.2010" sind => Variable mit dem Datum ist nicht deklariert (Notice-Meldung), und alle Eintäge in der DB werden gelöscht, weil die Query in etwa so aussehen würde: WHERE datum <> '').

Das hat aber nichts mit dem aktuellen Thema hier zu tun, ich warte mal ab, vielleicht meldet sich ja noch einer, der Wert auf die Lösung legt
 
Zurück