2011-07-15 15 views
7

Może to być niedorzeczne pytanie, ale czy istnieje sposób na uzyskanie rzeczywistej nazwy kontrolera z samej klasy kontrolera?Otrzymywanie nazwy kontrolera od samego kontrolera

jak

class SomeController extends Zend_Controller_Action { 
    public function init() { 

     $controllerName = $this -> getControllerName(); 
     // And get "Some" as a output 
    } 
} 
+5

jak get_class ($ this)? – Rufinus

+0

@Rufinus, dokładnie !!! :) – mrN

Odpowiedz

11
public function init() { 
    echo Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); 
} 
+0

Wow, wygląda jak dużo prośby. Czy to się zgadza z wydajnością strony internetowej. – mrN

5

Można uzyskać nazwę kontrolera z żądania używając getControllerName(). Aby dostać się do wniosku (bez singletonów), można wykonać następujące czynności:

public function init() { 
    $controllerName = $this->_request->getControllerName(); 
    // or 
    $controllerName = $this->getRequest()->getControllerName(); 
    // or 
    $controllerName = $this->getFrontController()->getRequest()->getControllerName() 
} 
+0

Najlepsza odpowiedź! Pracowałem dla mnie! – Abadis

Powiązane problemy