Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%)
|
Witam. Czy jest mozliwosc takiego zadeklarowania funkcji anonimowej aby wymusic na programiscie zadeklarowanie 2 parametrów?
załózmy ze mam taki kod
chcialbym wymusic zeby kazdy kto uzyje funkcji_ktora_uzywa_lambda, musial w funkcji anonimowej zadeklarowac te 2 parametry. głównie chodzi o to zeby uniknąć problemów ze zrobieniem closure ktory nie da parametrów po kilku miesiacach, jak zapomne jak kod działał a bede chcial korzystac z okreslonej funkcjonalnosci którą uzupelnia sie domknieciami. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Czy nie lepiej będzie skorzystać z "normalnego" interfejsu definiującego jedną publiczną metodę z określonymi parametrami? PHP niestety nie pozwala tworzyć anonimowych/lokalnych instancji klas/interfejsów, więc nieco problematyczne, jednak jednocześnie będzie spełniało Twoje kryteria.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%)
|
Czy nie lepiej będzie skorzystać z "normalnego" interfejsu definiującego jedną publiczną metodę z określonymi parametrami? PHP niestety nie pozwala tworzyć anonimowych/lokalnych instancji klas/interfejsów, więc nieco problematyczne, jednak jednocześnie będzie spełniało Twoje kryteria. closure sa duzo wygodniejsze, nie zasmiecaja kodu klasami ktore zostana uzyte tylko raz, no i trzymają ten kod tam gdzie jest potrzebny, a oddzielna klasa wędruje do innego pliku albo w inne miejsce niekoniecznie blisko jego jedynego uzycia. ten przyklad z reflection class nie jest zły, ciekawe jak z jego wydajnoscią. |
|
|
|
Orzeszekk Closures (wyrazenia lambda w PHP), pytanie 18.02.2012, 21:08:30
wookieb Nie. Bo dlaczego? Może obsłuży argumenty w kodzie ... 18.02.2012, 21:11:23 
Orzeszekk Cytat(wookieb @ 18.02.2012, 21:11:23 ... 18.02.2012, 21:30:35
MLukasz Spróbuj coś takiego (pisane z głowy)
[PHP] pobier... 18.02.2012, 21:43:11 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 08:34 |