Cześć! Jakiś czas temu natknąłem się na termin stałych w PHP, poczytałem o tym i wiem, jak się je definiuje, i czym są... Ale nie rozumiem do czego służą... Poco jest "pojemnik na dane" którego wartości nie można zmienić, skoro ma się zmienną, a jej wartość da się zmienić... Nie rozumiem tego... Czy mógłby mi to ktoś wytłumaczyć?
- Rejestracja:prawie 17 lat
- Ostatnio:3 dni
- Postów:644
Uznajmy, że robisz klasę do obliczania powierzchni koła - będziesz musiał wykorzystać PI - ale czy PI jest zmienną? Przecież jej wartość jest stała. Więc definiujesz sobie stałą PI o wartości X i tyle. Wydajnościowo jest to lepsze. A tutaj masz listę dostępnych stałych: http://php.net/manual/pl/reserved.constants.php
- Rejestracja:ponad 10 lat
- Ostatnio:ponad rok
- Postów:115
Prosty przykład, dlaczego warto używać stałych.
Zastanów się który kod jest czytelniejszy:
ten:
foreach($arrayOfElements as $element) {
if($element->type == 5) {
/// cos tam robi
} else if($element->type == 23) {
// zrob costam innego
}
}
czy ten:
foreach($arrayOfElements as $element) {
if($element->type == Element::TYPE_NEW) {
/// cos tam robi
} else if($element->type == Element::TYPE_OLD) {
// zrob costam innego
}
}
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 4 lata
- Postów:106
Powiedzmy, że tworzysz sobie klasę, która przyjmuje jakiś parametr. Załóżmy, że tym parametrem jest jakiś ciąg znaków, definiujący szablon tego, co ma być zwracane.
Czasami bywa, że taki ciąg znaków powtarza się za każdym razem w innych implementacjach.
Ok, przykład z życia:
Korzystasz często z funkcji date( $fromat ).
Oczywiście, możesz wpisać z ręki ciąg znaków, ale możesz też skorzystać z presetów
- Rejestracja:ponad 7 lat
- Ostatnio:2 miesiące
- Lokalizacja:700m n.p.m.
- Postów:677
Stałe niekoniecznie muszą być stałe, to znaczy - kiedy chcesz mieć możliwość szybkiej zmiany jakiejś wartości w wielu miejscach w kodzie, jak np. domyślna stawka VAT (teraz 23), to możesz do tego użyć stałej (chociaż ja wolałbym zmienną statyczną, albo inne rozwiązanie).
Kiedy stawka VAT się zmieni, zmieniasz ją tylko w stałej (np. w jakimś pliku bootstrap albo w jednej klasie) zamiast w wielu miejscach w kodzie.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
===