Vra

Ek het 'n "admin" module en ek wil dit om "dinamiese leiers" dien, dit wil sê 'n verstek gedrag voorsiening te maak vir leiers wat nie werklik bestaan ??nie ( "virtuele controllers").

Ek het 'n liggewig messaging meganisme vir los kommunikasie tussen modules uitgevind. Ek wil graag om dit te gebruik soos wat toe Bv.

?r=admin/users/index

versoek word, sal dit die "virtuele kontroles" "UserController" van AdminModule, wat sou, by verstek, gebruik hierdie boodskap meganisme om die werklike module stel "UsersModule noem" dit kan beantwoord aan die versoek.

Ek het gedink oor simuleer hierdie gedrag in AdminModule :: init (), maar op daardie stadium ek het geen manier om te besluit of die aksie deur 'n ware kontroleerder verwerk kan word of nie, of ten minste ek weet nie hoe om doen dit.

Dit is as gevolg van die manier Yii werk: bottom-up, die kontroles is die een wat die oog en die toepassing uitleg lewer (of die module se, as dit bestaan), byvoorbeeld. Ek dink nie die module het selfs 'n woord te sê het oor die hantering van 'n gegewe kontroleerder + aksie of nie.

Om herhaling, ek is op soek na 'n soort van CWebModule :: missingController ($ controllerId, $ actionId), net soos CController :: missingAction ($ actionId), of 'n tydelike oplossing om na te boots nie.

Dit sou moontlik wees in CWebModule :: init () of iewers waar ek kan uitvind

  1. of die beheerder werklik bestaan, in welke geval dit is sy taak om dit te hanteer
  2. die $ actionID en $ controllerID
  3. of die module $ controllerID bestaan ??(ek het nie dit verkeerd tik, in r = admin / gebruikers / indeks, "gebruikers" is die werklike module, soos uiteengesit in config die aansoek se).
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top