![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 3 Dołączył: 25.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie odnoścnie zachowania PHP. Prosty przykład:
Moje pytanie, co sie stanie jeśli przypiszę wartość do właściwości klasy, która nie została wcześniej zadeklarowana? Spotkałem taki przypadek w jednym z moich skryptów przez przypadek i zdziwiło mnie że nie wyrzuciło żadnego błędu. Czy ta zmienna staje się automatycznie nową składową klasy? Czy różni się ona czymś od tej wcześniej zadeklarowanej? Zdziwiło mnie to strasznie, myślałem, że przynajmniej jeśli chodzi o klasy PHP będzie bardziej restrykcyjne niż zwykle. Nie wiem czy to ma znaczenie ale serwer stoi na Windowsie (IIS 6.0, PHP 5.2.14) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
@extreme-dh: ja dodam jeszcze od siebie, że jako (były) programista c++, to zachowanie php też było dla mnie lekkim szokiem:) Z początku traktowałem to jako głupotę, ale z czasem się przyzwyczaiłem.
Robiąc aplikacje webowe musisz się do tego przyzwyczaić z jeszcze jednego powodu - podobnie działa javascript. Możesz do dowolnego obiektu (instancji klasy) dołożyć dowolne zmienne (a także metody), np. tak: Tak więc w przypadku aplikacji webowych z użyciem php+js musisz nieco zmienić tok myślenia i się przyzwyczaić(IMG:style_emoticons/default/smile.gif) W js możesz nawet dołożyć metody do wbudowanych klas - używając prototype. Ten post edytował konrados 25.10.2011, 09:47:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 17:14 |