![]() |
![]() ![]() |
![]() |
-Q3trms- |
![]()
Post
#1
|
Goście ![]() |
Witam. Mam pytanie dotyczące stosowania definici stałych a tablic w php. Mam prosty skrypt który liczy wartość zamówionych przedmiotów, ceny tych przedmiotów mogę zdefiniować za pomocą stałych lub tablicy. Teraz pytanie która forma jest bardziej nazwijmy to poprawna?, czy to może kwestia wygody programowania?.
Skrypt przechowywujący dane wartości przedmiotów:
Praktyczniej używać definicji stałych, czy stwożyć tablicę do przechowywania wartości? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 13 Dołączył: 23.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Na pewno w dużej mierze jest to kwestia indywidualnego podejścia programisty, ale ja bym wybrał tablicę. Praca na nich będzie o wiele łatwiejsza.
-------------------- ![]() |
|
|
-Q3trms- |
![]()
Post
#3
|
Goście ![]() |
Czy to nie jest tak, że wraz z kolejnymi specyfikacjami PHP funkcja define(), zostanie całkowicie zastąpiona tablicami?.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Niby z jakiej okazji?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Stałe jak sama nazwa, powinno się stosować do stałych wartości, jak liczba pi. Ja do przykładu, który podałeś użyłbym tablicy bo idealnie tutaj pasuje i jest bardziej elastyczna, jeśli chodzi o późniejsze rozszerzanie kodu.
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 306 Pomógł: 42 Dołączył: 25.03.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam pytanie dotyczące stosowania definici stałych a tablic w php. Mam prosty skrypt który liczy wartość zamówionych przedmiotów, ceny tych przedmiotów mogę zdefiniować za pomocą stałych lub tablicy. Teraz pytanie która forma jest bardziej nazwijmy to poprawna?, czy to może kwestia wygody programowania?. Skrypt przechowywujący dane wartości przedmiotów:
Praktyczniej używać definicji stałych, czy stwożyć tablicę do przechowywania wartości? Szczególnie, że wreszcie po 600 latach w PHP 5.4 pojawiła się skrócona składnia tablic:
-------------------- Strony WWW: http://arscreo.pl
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
Szczególnie, że wreszcie po 600 latach w PHP 5.4 pojawiła się skrócona składnia tablic:
5 znaków mniej to znacząca różnica. Możnaby się pokusić o stworzenie własnej implementacji ImmutableList, aby to rzeczywiście były stałe, ale z dostępem jak do tablicy. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Wg mnie decydować powinna wydajność.
Przy stałych istnieje też ryzyko kolizji (przysłownięcia czy jak to tam się zwie.) Ten post edytował wNogachSpisz 10.08.2012, 11:02:30 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Nazywasz stałą tyłek, jakaś biblioteka używa tej samej nazwy i masz problem.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
Dlatego można definiować stałe w klasach oraz przestrzeniach nazw.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
To był tylko przykład...
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
Rozumiem, tylko kolizja wynika z samej idei stałej - posiada stałą wartość.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Kolizja wynika z braku separacji przestrzeni nazw.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
W moim ulubionym CodeIgniterze, na cały framework zadeklarowana została raptem garstka stałych:
http://codeigniter.com/user_guide/general/...rved_names.html |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ale nie przewidzisz, czy nie skorzystasz kiedyś z biblioteki, która - być może - będzie korzystać z tych samych stałych, co Twoje.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:12 |