Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czemu nie ostrzega - E_STRICT
rafalp
post
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Włączyłem sobie dla testu:
error_reporting = E_ALL | E_STRICT

Mam kilka starszych klas z klasycznym wywołaniem konstruktora (przez taka sama nazwe) jednak nie otrzymuje żadnego komunikatu o błędu. (restart Apacha oczywiście był)

Czy E_STRICT powinien ostrzegać przed "starymi" klasami?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Mam kilka starszych klas z klasycznym wywołaniem konstruktora (przez taka sama nazwe) jednak nie otrzymuje żadnego komunikatu o błędu.
Bo to zaden blad. Dla php5 jest to poprostu funkcja w klasie.
Go to the top of the page
+Quote Post
rafalp
post
Post #3





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Nie błąd, ale myslałem ze interpreter zaleci mi napisanie normalnego konstruktora lub przynajmniej zwróci uwagę.
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Równie dobrze mógłby Ci sugerować żebyś napisał na przykład getIdentifier() zamiast getId() (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Poza tym co by się działo gdyby ktoś chciał mieć metodę o nazwie takiej samej jak klasa? Nie mógłby mieć?
Go to the top of the page
+Quote Post
rafalp
post
Post #5





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


No tak.
Pomyślałem że (o ile dobrze pamiętam?) E_STRIC jest dopiero od PHP5 więc będzie rygorystyczny co do gramatyki STRI-kte pod PHP5 no ale cóż..

Apropo - to może zna ktoś jakiś skrypt, program analizujący kod właśnie pod kątem dokładnych reguł PHP wersji 5?

Chciałem sie jeszcze was zapytać czy na error_reporting = E_ALL | E_STRICT
generuje wam ostrzeżenia jeśli w klasie użyjecie VAR zamiast public/private/protected ? Gdzieś przeczytałem że powinno generować a mi nie generuje.
Go to the top of the page
+Quote Post
wrzasq
post
Post #6





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


na poczatku generowalo, teraz nie generuje, poniewaz "var" uznano za alias do "public".

Cytat
Pomyślałem że (o ile dobrze pamiętam?) E_STRIC jest dopiero od PHP5 więc będzie rygorystyczny co do gramatyki STRI-kte pod PHP5 no ale cóż..

ale nazwa funkcji taka sama jak nazwa klasy w ktorej sie ja definiuje NIE JEST bledem ani niepoprawnoscia, wiec nadal nierozumiem, czemu sie uparles, ze powinno cos tutaj byc. jak chcesz mozesz sobie sam jakis prosty analyzer napisac (Reflections API) i sprawdzac, czy klasa ma metode o nazwie takiej, jak ona sama (ta klasa), ale to nie jest blad.

Ten post edytował wrzasq 26.07.2008, 01:55:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 07:00