"Yönetici modülü"

1 Cevap php

Ben bir "admin" modülü var ve ben gerçekten ("sanal denetleyicileri") mevcut değildir denetleyicileri için varsayılan davranış sağlamak için, yani "dinamik kontrolörleri" hizmet etmek istiyorum.

Ben modüller arasındaki gevşek iletişim için hafif bir mesajlaşma mekanizma icat ettik. Ben böyle olduğunu kullanmak istiyorum zaman mesela

?r=admin/users/index

istendiğinde, "buna isteğine cevap verebilir UsersModule", varsayılan olarak, gerçek modül bildirmek için bu mesajlaşma mekanizmayı kullanmak istiyorsunuz AdminModule arasında "" sanal denetleyicisi "" UserController arayacak.

I) AdminModule :: init (bu davranışı taklit düşündüm, ama bu noktada ben eylem gerçek bir denetleyici tarafından işlenen ya da değil, ya da en azından ben bunu nasıl bilmiyorum olup olmadığını karar yolu yoktur.

Bunun nedeni Yii çalışır şekilde şöyledir: (Varsa, ya da modülün) aşağıdan-yukarıya, kontrolör görünümü kılan bir VE uygulama düzeni, örneğin. Ben modül bile belirli bir kontrolör + eylem işleme ya da hakkında söyleyecek bir kelime olduğunu sanmıyorum.

Özetlemek gerekirse, ben sadece CController :: missingAction ($ actionId) gibi CWebModule bir tür :: missingController ($ controllerId, $ actionId), ya da taklit etmek için geçici bir çözüm arıyorum.

Bu muhtemelen :: CWebModule içinde init olurdu () ya da bir yerde nerede bulabilirim

  1. onu idare etmek onun işi bu durumda kontrolör aslında var olup olmadığını
  2. $ actionID ve $ controllerID
  3. modülü $ controllerID (uygulamanın config belirtildiği gibi, r = yönetici / kullanıcı / endeksinde, "kullanıcılar" gerçek modülü, yanlış yazdığınız değil) var olup olmadığını.