quando estendo una classe A e sovrascrivo un metodo nella classe B, posso attraverso parent::evento() combinare il comportamento di A e B.
Ma nel caso in cui includa un CBehavior di terze parti che implementa il metodo afterSave ma abbia bisogno allo stesso tempo di avere il mio afterSave, come posso eseguire entrambi?
Alla fine può essere che più metodi possano ascoltare il lancio di un avento ma nel mio caso viene eseguito solo il metodo della mia classe.
Probabilmente mi sto perdendo in un bicchiere d’acqua…
Gestisci tutto usando parent::afterSave() dentro afterSave() del tuo modello, fai delle prove per metterlo prima o dopo una tua certa logica per vedere il flusso delle chiamate.
Comunque, la domanda l’hai fatta perché è venuto fuori un qualche problema particolare o è “preventiva”?
Il flusso dovrebbe essere modelB poi modelA poi il behavior, penso che puoi verificarlo velocemente mettendo dei breakpoints dentro i vari afterSave() delle 3 classi.
Io sono pasato a yii2 da diverso tempo e non ho un’installazione yii1 sotto mano!