Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zamotka ze zmiennymi globalnymi
ast4roth
post 12.03.2008, 21:43:31
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.03.2008

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


Piszę większą stronę, definiuję funkcję która ma za zadanie na przykład dołączać [po sprawdzeniu wszystkiego w bazie danych] plik o nazwie będącej argumentem funkcji. Jest taki kłopot, że teraz wszystkie zmienne tworzone gdzieś dalej w kodzie [już nie bezpośrednio w ciele funkcji] wymagają globalizacji w tejże deklarowanej funkcji. Jest to trochę niewygodne, gdy trzeba wrzucać globala dla około 20 zmiennych, a samo ciało funkcji zajmuje ze 3 linijki. Można by w ogóle całość wrzucić w kod i się tym nie przejmować, ale gdy dołącza się większą ilość plików wymagających zgodności z wartościami w bazie danych, szkoda kopiować i wklejać ten sam kawałek kodu wielokrotnie. Czy można jakoś inaczej załatwić tę sprawę [niekoniecznie bawiąc się w obiekty]?
Go to the top of the page
+Quote Post
nevt
post 12.03.2008, 23:32:22
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


możesz zrobić tak: załóż sobie plik 'empty.inc' - pusty - bez żadnego kodu. napisz funcję check_in_db(), np. coś w stylu
  1. <?php
  2. function check_in_db($file_name)
  3. {
  4. // tutaj zrób to swoje sprawdzanie w bazie danych, 
  5. // załóżmy że wynik jest w zmiennej $ok
  6. // ...
  7.  
  8. return ($ok ? $file_name : 'empty.inc');
  9. }
  10. ?>

a potem stosowanie jest już proste, i nie ma problemu z globalami...
  1. <?php
  2. include(check_in_db('jakis_plik_php.inc'));
  3. ?>

jak nazwa pliku będzie ok. to go zainkluduje a jak nie to wciągnie 'empty.inc' co będzie bez wpływu na działanie reszty kodu ...

EDIT: brakowało apostrofów...

powodzenia.

Ten post edytował nevt 14.03.2008, 15:14:22


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
ast4roth
post 14.03.2008, 12:57:13
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.03.2008

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


Dzieki wielkie. Faktycznie, gdy funkcja zwraca jedynie nazwe pliku, a nie includuje, problem ze zmiennymi globalnymi nie ma racji bytu. ;]
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: 15.06.2025 - 04:50