Nasıl karşı kullanıcı verilerini doğrulamak için CakePKP'deki Kontrol isimleri bir liste alabilirim?

2 Cevap php

Ben bir müşteri için bir CakePHP site inşa ediyorum ve ilginç bir sorun biraz var. http://mainsite.com/username: Onlar kullanıcılar bu tür URL kullanarak site içinde kendi açılış sayfalarını oluşturabilirsiniz sayede yeni bir özellik eklemek istiyorum. Bu Kek sitesi olduğundan, onlar site içinde bir kontrolör olarak aynı olan bir kullanıcı adı almak oldu, özellikle delilik yönlendirme her türlü neden olur username değerler bol vardır.

Benim yaklaşım böyle bir şeydir: Kullanıcılar kontrolörün beforeValidate fonksiyonu, kontrolör tüm isimlerin bir listesini karşı verilen kullanıcı adınızı kontrol ve bir maç varsa false return. Benim soru - nasıl kontrolör tüm isimlerin bir listesini alabilirsiniz (aslında dosyaların üzerinde döngü kısa /app/controllers)? Bunu yapmak bile mümkün mü?

Teşekkürler!

2 Cevap

Muhtemelen kullanabilirsiniz

$Controllers = Configure::listObjects('controller')

Mükemmel! Benim çözüm başlangıcı:

$human_controllers = Configure::listObjects('controller');
$u_controllers = array();
foreach($human_controllers as $c){
    $u_controllers[] = Inflector::underscore($c); // converts "PageContents" to "page_contents"
}
debug($u_controllers); die();