Kohana 3 akım denetleyicisi / eylem / argümanları almak

3 Cevap php

Kohana 2 kolayca böyle bu bilgileri alabilir:

echo router::$controller;
echo router::$method;
echo router::$arguments[0-x];

O Kohana 3 çalıştığını nasıl herhangi bir fikir?

Şimdiden teşekkürler!

3 Cevap

Controller içerisinden:

$this->request->controller

$this->request->action

$this->request->param('paramname')

K2, K3 farklı argümanlar sizin yolları tanımlamak kays erişilir.

Örneğin bu url atın:

Route::set('default', '(<controller>(/<action>(/<id>)))')    
    ->defaults(array('controller' => 'welcome', 'action' => 'index')); 

"Id" argüman erişmek için Arayacağını

$this->request->param('id')

Sen param () yöntemi denetleyicisi / eylem bağımsız değişkenleri erişemiyor.

Ayrıca Request::instance() (küresel veya "master") talep örneği almak için kullanabilirsiniz, unutmayın.

Daha fazla bilgi için K3 guide bakın

Için Güncelleme cevap Kohana 3.2, gelen user guide:

// From within a controller:
$this->request->action();
$this->request->controller();
$this->request->directory();

// Can be used anywhere:
Request::current()->action();
Request::current()->controller();
Request::current()->directory();

Kohana> = 3.1 kullananlar için, Request nesnesinin bazı özellikleri yöntemleri dönüştürülmüş olduğunu fark etmek yararlı olabilir.

Örneğin (Eğer bir denetleyici içinde olduğunuzda $this->request->controller() ya) Request::controller Request::controller() şimdi.

Daha fazla bilgi için, ben Kohana http://kohanaframework.org/3.1/guide/kohana/upgrading üzerine kılavuzunu yükseltmek başvurmak istiyorum