2013-08-02 9 views
6

W moich modelach używam Ardent do samodzielnego sprawdzania poprawności, ale mam model, w którym muszę również użyć uwierzytelniania Sentry. Muszę więc rozszerzyć także Ardent i Sentry, ale nie mogę, ponieważ nie ma dziedziczenia wielokrotnego w PHP. Próbowałem zrobić to z cechami, ale cechy nie mogą się rozciągać. Nie potrzebuję obu klas, czy jest sposób, w jaki mogę ich użyć?Jak korzystać z Sentry z Ardent w Laravel?

+0

Czy udało Ci się użyć zarówno Sentry & Ardent? –

+0

@ JavierEnríquez Nie. W końcu użyliśmy tylko Sentry i dokonaliśmy walidacji w normalny sposób. Jednym możliwym obejściem jest znalezienie folderu dostawcy Sentry i sprawienie, by rozszerzył on Ardent. – totymedli

Odpowiedz

1

Myślę, że najlepszym sposobem na zrobienie tego byłoby skopiowanie całego modelu użytkownika bezpośrednio z folderu Sentry: np. src/Cartalyst/Sentry/Users/Eloquent/User.php

Skopiuj ten plik do katalogu modeli, a następnie rozszerz go, zamiast modelu, ponieważ Ardent już rozszerza Model.

To powinno zadziałać - chociaż mogą istnieć pewne komplikacje lub poprawki potrzebne do jego działania, robię coś podobnego za pomocą Toddish/Verify zamiast Sentry.

+0

to powoduje błąd "Deklaracja Cartalyst \ Sentry \ Users \ Eloquent \ User :: validate() powinno być zgodne z LaravelBook \ Ardent \ Ardent :: validate (array $ rules = Array, array $ customMessages = Array)' – Muflix