Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

problemy z systemem pluginów #1243

Open
maciejlew opened this issue Apr 16, 2018 · 5 comments
Open

problemy z systemem pluginów #1243

maciejlew opened this issue Apr 16, 2018 · 5 comments

Comments

@maciejlew
Copy link
Contributor

@maciejlew maciejlew commented Apr 16, 2018

@chilek tu możemy omówić problemy z systemem pluginów

@chilek

This comment has been minimized.

Copy link
Collaborator

@chilek chilek commented Apr 16, 2018

  1. Biblioteki porzucone/osierocone:
    phine/exception 1.0.0 A PHP library for improving the use of exceptions.
    phine/observer 2.0.0 A PHP library that implements the observer pattern.
  2. phone/observer nie pozwala na rekursywne wywoływanie ExecuteHook().
@maciejlew

This comment has been minimized.

Copy link
Contributor Author

@maciejlew maciejlew commented Apr 18, 2018

ad 1. tak mogło się stać z każdą zależnością, jeśli nie ma w niej bugów to nie jest źle;
ad 2. to akurat dobrze, plugin mógłby zapetlić wykonywanie hooków, przydałby się jakiś przykład kiedy taka funkcjonalność jest niezbędna.

Raczj bym tego nie ruszał.

@chilek

This comment has been minimized.

Copy link
Collaborator

@chilek chilek commented Apr 18, 2018

ad 2. to akurat dobrze, plugin mógłby zapetlić wykonywanie hooków, przydałby się jakiś przykład kiedy taka funkcjonalność jest niezbędna.

  1. Podpinamy się pod:
    https://github.com/lmsgit/lms/blob/master/lib/LMSManagers/LMSCashManager.php#L405
  2. W obsłudze 1 robimy powiadomienie mailowe w oparciu o LMS::SendMail().
  3. W SendMail() mamy:
    https://github.com/lmsgit/lms/blob/master/lib/LMS.class.php#L2015
    (chcemy mieć możliwość wpłynięcia na treść listu przed wysyłką każdego listu).
@maciejlew

This comment has been minimized.

Copy link
Contributor Author

@maciejlew maciejlew commented Apr 19, 2018

Dzięki za przykład. Nie rozumiem jednak dlaczego SendMail nie mógłby dostać wszystkiego co powinien już podczas wywoływania tej metody. Mam wrażenie że hooki trochę wymknęły się spod kontroli i mogą być wszędzie...

Pewnie ten hook będzie musiał tam już zostać na jakiś czas bo ktoś z tego korzysta, ale trzeba by przemyśleć czy pozwalać w przyszłości na takie coś.

Z perspektywy czasu widzę, że lepiej by było jakby hooki/eventy (czy jakkolwiek to nazwiemy) nie wpływały na wykonanie standardowej ścieżki programu tylko powodowały rozpoczęcie kolejnej po tym jak ta pierwsza się już zakończy. Wygląda to na sporo roboty ale może uda mi się coś takiego przygotować.

@chilek

This comment has been minimized.

Copy link
Collaborator

@chilek chilek commented Apr 19, 2018

Dzięki za przykład. Nie rozumiem jednak dlaczego SendMail nie mógłby dostać wszystkiego co powinien już podczas wywoływania tej metody. Mam wrażenie że hooki trochę wymknęły się spod kontroli i mogą być wszędzie...

Stare hooki (nie wiem czy z tego kiedykolwiek korzystałeś) takich ograniczeń nie miały.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.