2011-09-06 67 views
1

在Asp.Net MVC我用助手指定路徑的動作和控制器,就像這樣:呼叫處理法的Kohana PHP框架

var url = "@Url.Action("OrderAction", "OrderController")"; 
$.post(url, { name: name, prodno: prodno }, function(data) { 
    //Do stuff  
}); 

現在,我努力學習的Kohana和PHP,我想知道是否有類似的方法來做到這一點?或者我如何在控制器中調用特定的操作方法來發布它?

編輯:下面是bootstrap.php中的路由,如果有幫助:

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

回答

0

您可以使用Reverse Routing變換路線和可選參數的鏈接...

echo Route::url('route_name', array('optional' => 'arguments')); 

...你能提供一個例子,說明如何使用它來產生OrderController控制器中OrderAction方法的調用[?]

echo Route::url('default', 
       array('controller' => 'Order', 'action' => 'Action') 
       ); 
+0

好的......與Url.Action幫手相比,這看起來非常複雜......對於我迄今爲止對Kohana的基本理解,請原諒我,但您能否提供一個示例來說明如何使用它來產生呼叫到OrderController控制器中的OrderAction方法,如我的示例中所示? – Anders

+0

@Anders我加了一個例子。 – alex

+0

好的,謝謝。我試過了,它產生了這個url:href =「http://localhost/kohana/index.php/home/order。這是我在變量中放置的內容,我認爲這就是你的意思:var url =」 <?php echo Route :: url('default', array('controller'=>'home','action'=>'order') ); ?>「;(即家是控制器的名稱,順序是行動的名稱,其他人只是爲了澄清我的問題) – Anders