![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie!
Natrafiłem na dziwne ograniczenie którego nie potrafię przeskoczyć:
Oczywiście mogę zrobić to tak:
Ale w żaden sposób nie kojarzy się to z dobrym stylem pisania i przejrzystością kodu. Czy w PHP niemożliwe jest zdefiniowanie argumentu domyślnego funkcji składającego się z 2 części? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Manual i cytat
Cytat Domyślna wartość musi być stałym wyrażeniem, a nie na przykład zmienną, członkiem klasy czy wywołaniem funkcji Czy to chcesz zrobić ma sens? Może ma, nie spotkałem się z czymś takim ani nie bardzo wiem czemu miałoby to służyć - wartość domyślna jest stała, nie powinna zależeć od innych warunków - jeśli zależy to należy ją przekazać. Do operacji na zmiennych mamy ciało funkcji a nie parametry. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Manual i cytat Czy to chcesz zrobić ma sens? Może ma, nie spotkałem się z czymś takim ani nie bardzo wiem czemu miałoby to służyć - wartość domyślna jest stała, nie powinna zależeć od innych warunków - jeśli zależy to należy ją przekazać. Do operacji na zmiennych mamy ciało funkcji a nie parametry. Niestety natrafiłem na sytuację gdzie jest to przydatne. Pokazuję to niżej:
Co prawda problem da się obejść tak:
To że nie powinna od niczego zależeć i może być z całą definicją funkcji uznana jako stała to wiem ;] Tyle że połączenie nawet 2 stringów ("foo"."bar") skutkuje błędem. Ten post edytował kiler129 29.08.2010, 03:50:09 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 14:31 |