![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 30.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
mam problem dotyczący: http://php.net/manual/en/language.variables.scope.php Chcę zrobić funkcje:
Chodzi ogólnie o to, że przed funkcja funkcja() nie ma określonej zmiennej globalnej $cos, ale po tym już jest. Nie chodzi mi o rozwiązanie typu return $cos;, a później $cos = funkcja(). Futaj jest problem taki, że to ma być hook do mybb, gdzie nie ma dokładnej definicji tego. Proszę o pomoc. edit: Chcę jeszcze dopisać, że to raczej ma być coś w stylu, tworzenia przez funkcję nowej zmiennej, która będzie widoczna wszędzie... Ten post edytował Czeladnik 30.04.2011, 18:03:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Używanie globali w funkcjach to niedobra praktyka. Jeśli chcesz mieć zmienną poza zasięgiem funkcji - zwróć ją w return. Jeśli ma to być wiele zmiennych - zwróć je jako tablicę. A jeśli funkcja sama korzysta z wartości spoza funkcji - przekaż je jako parametr. Tak się obecnie robi i powinno robić. Global jest złe bo powoduje chaos, gdyż nie wiadomo co się skąd wzięło i co tak naprawdę zawiera. A gdy jeszcze rżne funkcje w kodzie mogą ją zmieniać - to dopiero masz burdel i nie dojdziesz co i jak (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 21:07 |