在Kohana中,您可以使用該目錄。所以你的控制器應該像這樣放置。
application/classes/Controllers/V2_2013_02_13/Enpoint1Controller
比你能爲您的不同版本的路線。
Route::set('v2', 'v2/<controller>(/<action>)')
->defaults(array(
'directory' => 'V2_2013_02_13',
'controller' => 'welcome',
'action' => 'index',
));
這將是最簡單的方法,但是如果你真的想有一些動態的方式來調用你的控制器的特定版本比我會看的Kohana的HMVC。
我的猜測是,您需要每個版本的入口控制器,並對正確的控制器進行內部請求。
也許是這樣的。
路線:
Route::set('versioned', '<version>/<someAction>')
->defaults(array(
'version' => 'v2',
'someAction' => 'user'
'controller' => 'welcome',
'action' => 'index',
));
控制器:
class Controller_Welcome extends Controller {
public function action_index()
{
// Your Version and the action
$this->request->param('version');
$this->request->param('someAction');
// Do an internal request to the right controller (the v2/user is an example)
$internalRequest = Request::factory('v2/user');
}
}
我希望這有助於。
嘿,那麼你是如何實現它的?我正在使用Symfony2並尋找解決方案。 –