Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Skąd się bierze wartość tej zmiennej?
Crash89
post 6.12.2018, 15:34:08
Post #1





Grupa: Zarejestrowani
Postów: 166
Pomógł: 7
Dołączył: 3.04.2013

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


Witam,

Natrafiłem na taki kod,

  1. function funkcja($zmienna1) {
  2.  
  3. return function($zmienna2) use ($zmienna1) {
  4.  
  5. //jakiś kod funkcji
  6.  
  7. }
  8.  
  9. }


Wywołania funkcji "funkcja" wygląda tak:

  1. $this->funkcja('wartość');


$zmienna2 ma jakąś wartość i nie wiem skąd ona jest tam przypisywana, szukam i szukam i nie mogę znaleźć.

Ten post edytował Crash89 6.12.2018, 15:36:43
Go to the top of the page
+Quote Post
rad11
post 6.12.2018, 17:07:08
Post #2





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

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


Bo to jest funkcja anonimowa i zmienna2 to jest parametr funkcji ktory jest dostepny w scopie tej anonimowej funkcji
Go to the top of the page
+Quote Post
Crash89
post 7.12.2018, 16:22:00
Post #3





Grupa: Zarejestrowani
Postów: 166
Pomógł: 7
Dołączył: 3.04.2013

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




Cytat(rad11 @ 6.12.2018, 17:07:08 ) *
Bo to jest funkcja anonimowa i zmienna2 to jest parametr funkcji ktory jest dostepny w scopie tej anonimowej funkcji


Dzieki za wyjaśnienie, dowiedziałem się że możńa do takiej konstrukcji w php przekazać parametr przez call_user_func;

Przy okazji, prosze o wyjaśnienie, jaki jest sens zwracania wyniku funkcji anonimowej z funkcji?
to samo mogę chyba w zwykłej funkcji osiągnąć.

Ten post edytował Crash89 7.12.2018, 16:22:38
Go to the top of the page
+Quote Post
viking
post 7.12.2018, 16:59:56
Post #4





Grupa: Zarejestrowani
Postów: 5 011
Pomógł: 846
Dołączył: 30.08.2006

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


A możesz pokazać źródło tej strony? Takie konstrukcje można używać żeby nie wrzucać zmiennych z innego kontekstu ale to raczej przy inicjacji middleware.


--------------------
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: 11.12.2018 - 21:55