Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Stała, Flagi
-arrtxp-
post 20.01.2015, 13:18:40
Post #1





Goście







Witam, może ktoś mi wytłumaczyć kiedy np: używać stałych define() ?
Bo jak wyczytałem w sieci, to używamy stałych gdy nie chcemy by nasza zmienna nigdzie nie była podmieniona ?

I może ktoś by był miły i mi powiedział co to są flagi ?
Bo zawsze myślałem, że to define();

Dziękuje za opd.
Go to the top of the page
+Quote Post
Daimos
post 20.01.2015, 20:34:38
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Flagi takie podstawowe w php (niech ktoś krzyknie jak się mylę) to nic innego jak odpowiednik jakiejś cyferki w formie stałej. Czyli jeśli weźmiemy pod lupę funkcję:
error_reporting
Parametry podaje się w postaci int`a, ale dla wygody stworzone zostały stałe, aby nie trzeba było pamiętać, który numer, co oznacza. I taką stałą nazywamy flagą.
Kiedy używać stałych? Przykładowo właśnie wtedy, kiedy musisz operować na cyferkach, dajmy na to od 0-10, a te cyferki odpowiadają konkretnym "słownym" wartościom.
Inny przykład, to takie podstawowe parametry dla całej aplikacji, Zend Framework już w pliku index.php definiuje stałą o nazwie APPLICATION_PATH - która odnosi się do folderu aplikacji. Niesamowicie przydatna stała, której każdy użył pewnie setki razy.
Ale w skrócie i na temat. Stałych trzeba unikać, ponieważ nie są potrzebne w każdym miejscu, a niepotrzebnie zawalają pamięć. Masz stałe w klasach, co już jest lepszym rozwiązaniem.

Wiele CMSów krąży w internecie (szczególnie starych), gdzie cała konfiguracja jest w stałych i np. taki dostęp do bazy ustalony przez "define" i co? Użyty jest raz, 50 linijek dalej. A dane te są dostępne dalej globalnie w każdym miejscu, co jest wielką pomyłką.


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
SpiritCode
post 21.01.2015, 07:05:38
Post #3





Grupa: Zarejestrowani
Postów: 167
Pomógł: 35
Dołączył: 29.12.2014
Skąd: Otwock

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


Co do flag pojawiają się też w formie zmiennych. Określają wydarzenie z jednej pętli, które ma zmienić działanie w warunku dalej na przykład.

Go to the top of the page
+Quote Post
-arrtxp-
post 21.01.2015, 10:33:48
Post #4





Goście







@up mogę prosić o przykład kodu ?

Ten post edytował arrtxp 21.01.2015, 10:34:33
Go to the top of the page
+Quote Post
Pyton_000
post 21.01.2015, 11:02:21
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1.  
  2. $isGood = false;
  3.  
  4. while(doSth == 1)
  5. {
  6. if(sth == 2)
  7. $isGood = true;
  8. }
  9.  
  10. if($isGood) ...

$isGood jest flagą.
Go to the top of the page
+Quote Post
-arrtxp-
post 21.01.2015, 11:18:06
Post #6





Goście







w takim razie czym się różni flaga od zmiennej ?
Go to the top of the page
+Quote Post
Pyton_000
post 21.01.2015, 11:50:22
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Niczym w tym przypadku. To jest określenie potoczne dla stanu zmiennej która jest ustawiana true/false w zależności od warunków które muszą zajść.
Go to the top of the page
+Quote Post
strife
post 21.01.2015, 12:30:01
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Tutaj masz definicję: http://en.wikipedia.org/wiki/Flag_field
A tutaj wyjaśnienie: http://stackoverflow.com/questions/5006039...-flag-variables


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 21:12