Aktywne Wpisy

MajsterZeStoczni +172
Treść przeznaczona dla osób powyżej 18 roku życia...

Teuvo +13
ile kosztuje wybudowanie domu parterowego 60 m2 + garaż na 1 auto i rower
Skopiuj link
Skopiuj link

Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Mam takie usługi:
SendSMS
Prepaid
SendSMS->send() powinna wywołać Prepaid->charge(). Jeśli charge() się nie uda (bo nie ma środków na koncie) to SMS ma nie zostać wysłany.
Mogę to zrobić tak, że do SendSMS dodam zależność Prepaid i będzie działać. Ale co by na to powiedzieli koszerni programiści #php za 15k?
Zastanawiam czy nie lepiej zrobić eventa PrepaidChargeEvent (dispatchowałbym go w SendSMS) i listenera PrepaidListener który będzie wywoływał Prepaid->charge(). A jak z poziomu SendSMS->send() wiedzieć czy można wysyłać? W Prepaid->charge() robić exception jeśli brak kasy na koncie. Wtedy w SendSMS->send() zrobić try .. catch na tym dispatchowaniu i wysyłać lub nie.
Dobrze myślę z tym drugim sposobem? Czy można to lepiej zrobić?
To o tyle fajne, że potem bez grzebania w tych klasach będziesz mógł zrobić
Komentarz usunięty przez autora
skąd wiesz czy później nie będziesz potrzebował wysłac sma z jakichś punktów, albo rozliczał smsy na koniec okresu itd. itd. więc po co od razu robić klasę SendSMS taką ciężką
of course pewnie klasa SendSMS może dispatcheować jakieś eventy ale raczej powinno to służyć do jakiegoś general loga
Twoje rozwiązanie – z wstrzykiwaniem obiektu płatności do wysyłacza SMSów – też uznałbym za akceptowalne, ALE pod warunkiem, że sygnaturę zależności uzależnisz od interface'u: tzn proponowałbym, żeby
SendSms(BTW, czemu nieSmsSender?) dostawał w konstruktorze obiekt spełniający interfaceSmsSendAuthorizer->auhorize($this, $orWhateverYouNeed)