2013-08-02 12 views
6

Nei miei modelli utilizzo Ardent per l'auto-convalida, ma ho un modello in cui devo anche usare Sentry per l'autenticazione. Quindi ho bisogno di estendere anche Ardent e Sentry, ma non posso perché non c'è eredità multipla in PHP. Ho provato a farlo con tratti, ma i tratti non possono estendersi. Ho quasi bisogno di entrambe le classi, c'è un modo in cui posso usarle entrambe?Come usare Sentry with Ardent in Laravel?

+0

Sei riuscito a utilizzare sia Sentry che Ardent? –

+0

@ JavierEnríquez No. Alla fine abbiamo usato solo Sentry e fatto la validazione in modo regolare. Una soluzione possibile è trovare la cartella del venditore di Sentry e farlo estendere Ardent. – totymedli

risposta

1

Penso che il modo migliore per farlo sarebbe quello di copiare l'intero modello Utente direttamente dalla cartella Sentry: ad es. src/Cartalyst/Sentry/Utenti/Eloquent/User.php

Copia il file nella directory dei modelli, quindi estendi Ardent invece di Modello poiché Ardent estende già Model.

Questo dovrebbe funzionare - anche se potrebbero esserci alcune complicazioni o correzioni necessarie per farlo funzionare, sto facendo qualcosa di simile usando Toddish/Verifica invece di Sentry.

+0

emette errore 'Dichiarazione di Cartalista \ Sentry \ Utenti \ Eloquente \ Utente :: validate() deve essere compatibile con LaravelBook \ Ardent \ Ardent :: validate (array $ rules = Array, array $ customMessages = Array)' – Muflix