Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> $Globals vs static, Unikanie $globals
JakubBab
post
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


Czesc,

Taka zagwozdka:

Skrypt (dopiero) dziala przy wykorzystaniu $globals. Czytajac ktorys podrecznik pamietam, ze namawiano do unikania uzywania zniennym globalnych. Pomyslalem, ok, trzeba cos pozmieniac... ha! ale co?! (IMG:style_emoticons/default/sciana.gif)

Myslalem o stalych zmiennych ale tak owe nie przyjmuja tablic, mozna kombinowac ale po co az tyle pisac kodu <?>. Pytanie do Sz.P. dlaczego dopiero przy uzyciu globals skrypt dziala i jak mozna go zmienic zeby dziala bez nich. Fanks for jur help.
(ps. probowalem pobawic sie klasami tzn pierwsza array wlozyc w klase a pozniej odwloac sie do niej w dalszej czesci skryptu - tez nie dzialalo).

  1. <?php
  2.  
  3. $monthList=array('January'=>31,'February'=>'28 days, if leap year 29','March'=>31,'April'=>30, 'May'=>31,'June'=>30, 'July'=>31,
  4. 'August'=>31,'September'=>30,'October'=>31,'November'=>30,'December'=>31);
  5.  
  6.  
  7. function createOptions(){
  8. foreach( $GLOBALS['monthList'] as $month => $days){
  9. echo "<option value=\"$month\">".strtoupper($month)."</option>";}
  10. }
  11. ?>
  12.  
  13. <html>
  14. <body>
  15.  
  16. <form action="" method="POST">
  17. <select>
  18. <?php createOptions(); ?>
  19. </select>
  20. <br/><input type="submit" value="Check it!"/>
  21. </form>
  22. </body>
  23. </html>
  24. <?php

Go to the top of the page
+Quote Post
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

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


Najlepiej to pisać w OOP. Jeżeli jednak nie to poprostu spróbuj zrobić jakiś plik konfiguracyjny z informacjami które będą zapisane jako json i zrób funkcje która będzie parsować ten plik i wyciągać interesujace Cię dane. Kolejna sprawa to możesz zawsze trzymać takie dane w bazie danych.

Ten post edytował rad11 20.12.2015, 16:56:33
Go to the top of the page
+Quote Post
viking
post
Post #3





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Musisz przekazać tablicę do funkcji.
  1. function createOptions(array $twojaTablica){}
  2. //wywołanie
  3. createOptions($monthList);


Druga sprawa że jest funkcja http://php.net/manual/en/function.cal-days-in-month.php zwracająca konkretne wartości dla danego roku.

Obiektowo natomiast najlepiej do takich danym używać http://php.net/manual/en/class.splenum.php
Go to the top of the page
+Quote Post
JakubBab
post
Post #4





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


Dziekuje. Co do json - raczkuje w tym temacie a co do spelnum to enigma..

Rozwiazanie jest ale pytanie pozostaje dlaczego wczesniej nie odczytywalo mi danych z tabeli (prosba o ciut teorii).

Pozdr,
J.
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


http://php.net/manual/en/language.variables.scope.php

Funkcja jest jakby zamkniętym blokiem, widzi tylko to co w środku a nie przekazałeś z zewnatrz żadnych danych.
Go to the top of the page
+Quote Post
JakubBab
post
Post #6





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

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


Dzieki i pozdrawiam.

Uwazam temat za zamkniety. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 11.10.2025 - 14:42