Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $Globals vs static
Forum PHP.pl > Forum > PHP
JakubBab
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?! 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

rad11
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.
viking
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
JakubBab
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.
viking
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.
JakubBab
Dzieki i pozdrawiam.

Uwazam temat za zamkniety. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.