Otomatik olarak kullanıcının rolüne göre denetleyicisi belirlemek için Zend_Controller_Route Kullanımı: nasıl?

0 Cevap php

Şu anda üzerinde bir yolunu bulmaktan duyuyorum.

Şöyle Benim şu anki uygulama yapısıdır:

/modules
 / modulename
  /controllers
    /ProjectController.php

Uygulama 3 farklı kullanıcı rolleri, bu modüllerin içinde bulunan işlevselliği ile her sahiptir. Ben benim kod az okunabilir ve çirkin yapar düşünmek gibi bir denetleyicisi her kullanıcı rolü için birden fazla eylem sahip önlemek istiyorum. Yani, böyle bir yapının düşünüyordum:

/modules
 / modulename
  /controllers
    /ProjectController.php
    /EmployeeProjectController.php
    /ExecutiveProjectController.php

Bu, aşağıdaki gibi çalışması gerekir:

  • Projectcontroller.php yönetici kullanıcılar için yüklü olmalıdır
  • EmployeeProjectController.php çalışanlar için yüklü olmalıdır
  • ExecutiveProjectController.php yöneticiler için yüklü olmalıdır

Tabii ki, farklı bir URL şeması her kullanıcı rolü için bu nispeten kolay sağlamak için, ama I do not want this. Ben düzgün bir URL şemasını istiyorum.

Sonraki adım, daha sonra başka bir denetleyiciye onları yeniden yazmak için kontrolörler her biri için yolları oluşturmak olacaktır. I'd like to prevent this as well.

I want a way to globally tell the router to prefix controllers with 'Executive' or 'Employee' or whatever, based on the user role.

Bu ne için en iyi yol olacağını?

0 Cevap