Dostęp do zmiennych globalnych w funkcji bez global? |
Dostęp do zmiennych globalnych w funkcji bez global? |
18.10.2017, 15:16:16
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
Witam,
Czy jest możliwość aby mieć dostęp w funkcji do zmiennych globalnych bez użycia global i tablicy global?
I teraz np z includowanego pliku chciałbym mieć dostęp do obiektów. Zastanawiam się jak to rozwiązać |
|
|
18.10.2017, 15:53:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
18.10.2017, 15:55:25
Post
#3
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
@viking, przeciez obiekty o ktorych mowa sa w includowanym pliku a plik jest includowany w funkcji
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
18.10.2017, 16:02:41
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Pytanie tak niejasne że mogłem nie zrozumieć. Tak czy inaczej raczej trzeba by się zastanowić czy tak pisany kod ma sens.
-------------------- |
|
|
18.10.2017, 19:32:12
Post
#5
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
Przepraszam że niejasno napisałem,
chciałbym osiągnąć możliwość dodawania plików z różnych katalogów przez funkcje. Coś na zasadzie haków wp. Startuje skrypt, includuje wszystkie pliki np start.php z katalogów mod1/ , mod2, mod3 itd w każdym z tych plików mogę dołączyć się z jakimiś zmiennymi, obiektami itp np:
nie mam pomysłu jak to rozwiązać Ten post edytował StreetFighter 18.10.2017, 19:34:27 |
|
|
18.10.2017, 21:02:38
Post
#6
|
|
Grupa: Zarejestrowani Postów: 515 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) |
... google przestało działać ? Przecież chcesz zrobić loadera, sądzisz że to na tyle innowacyjna funkcja że ludzkość już czegoś w ty temacie nie wymyśliła ?
Proszę, masz pierwszy lepszy artykuł po Polsku, jedna z miliardów stron które opisują ten mechanizm : LINK |
|
|
18.10.2017, 21:13:48
Post
#7
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
niestety nie rozumiesz, przeczytaj kod, nospor wyjaśnił o co mi chodzi
funkcja w skrócie żeby zobrazować loadBody
głównie chodzi mi oto czy ktoś ma jakiś pomysł jak rozwiązać oprócz używania tablicy $GLOBALS i globals $var wymianę zmiennych między funkcjami, obiektem. ewentualnie jak sensownie uzyskać inaczej ten efekt(tj pluginów) edit: jedyne co przychodzi mi na myśl to dodanie plików które chce includować np do tablicy i później gdzieś ich includowanie przez np foreach Ten post edytował StreetFighter 18.10.2017, 21:22:48 |
|
|
19.10.2017, 08:56:44
Post
#8
|
|
Grupa: Zarejestrowani Postów: 515 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) |
Jedyne co to w ładowanych plikach możesz mieć pozapisywane funkcje/klasy które zwracają/przyjmują jakieś zmienne i wtedy sobie używasz to gdzie chcesz i z czym chcesz
|
|
|
19.10.2017, 12:48:25
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) |
A z jakich to powodów nie może być $GLOBALS? Skoro potrzebujesz globalnego dostępu to zawsze to będzie złe, więc co za różnica jak to zrobisz? Jak trzeba robić po wuju to się robi jak najprościej a nie robi wuja do kwadratu z jakiegoś archaicznego skryptu.
|
|
|
19.10.2017, 17:42:13
Post
#10
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
Ogólnie chciałem mieć dostęp do obiektu z funkcji bez global, bo na funkcjach lub metodach chciałem oprzeć moduły,pluginy, robiąc nawet prosta funkcje oparta o include nie masz już dostępu do zmiennych, musisz używać global,
Archaiczny powiadasz |
|
|
19.10.2017, 17:49:51
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Poczytaj sobie o composer, wstrzykiwaniu zależności, może jakiś service manager, MVC.
-------------------- |
|
|
20.10.2017, 20:47:16
Post
#12
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
Ok a mam pytanie czy macie jakiś pomysł na rozwiązanie poniższego problemu:
edit: bez global i $GLOBALS ? Ten post edytował StreetFighter 20.10.2017, 20:47:43 |
|
|
20.10.2017, 22:51:06
Post
#13
|
|
Grupa: Zarejestrowani Postów: 515 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) |
|
|
|
21.10.2017, 22:36:13
Post
#14
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
Witam, Czy jest możliwość aby mieć dostęp w funkcji do zmiennych globalnych bez użycia global i tablicy global?
I teraz np z includowanego pliku chciałbym mieć dostęp do obiektów. Zastanawiam się jak to rozwiązać źle to sprecyzowałem, chodziło mi bez ręcznego wpisywania dla każdej zmiennej, tylko żeby było to z automatu |
|
|
21.10.2017, 23:18:46
Post
#15
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Deklarujesz w global scope elementy tablicy $_ENV i masz do nich dostęp w funkcjach. Ten post edytował trzczy 21.10.2017, 23:22:05 |
|
|
22.10.2017, 06:15:21
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
A dlaczego np nie zastosujesz systemu szablonów który wtedy sam w sobie jest kontenerem na zmienne?
-------------------- |
|
|
22.10.2017, 19:19:12
Post
#17
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
Deklarujesz w global scope elementy tablicy $_ENV i masz do nich dostęp w funkcjach. to już wygląda lepiej:
edit: viking masz racje chyba pójdę w tą stronę Ten post edytował StreetFighter 22.10.2017, 19:20:25 |
|
|
22.10.2017, 23:51:05
Post
#18
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
|
|
|
23.10.2017, 20:01:26
Post
#19
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 17.04.2017 Skąd: 127.0.0.1 Ostrzeżenie: (0%) |
Wole czasami zapytać niż pisać nadmiar kodu, czasami można coś prościej rozwiązać niż ja na to wpadnę.
|
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 10:47 |