2015-05-25 9 views

cevap

11

Sen Route::currentRouteAction() ile cari işlem adını alabilir. Maalesef, bu yöntem tam olarak adlandırılmış bir sınıf adı döndürecektir.

App\Http\Controllers\[email protected] 

Sonra sadece ayrı yöntem adı ve denetleyici adı: Yani böyle bir şey alacak

$currentAction = \Route::currentRouteAction(); 
list($controller, $method) = explode('@', $currentAction); 
// $controller now is "App\Http\Controllers\FooBarController" 

$controller = preg_replace('/.*\\\/', '', $controller); 
// $controller now is "FooBarController" 
+0

teşekkür, laravel bunun için dahili işlevi varsa merak ediyordum bir masraflı bir operasyondur wil çünkü Her istek için bunu yapmak için .... – Deejay

+1

Bildiğim kadarıyla bunun için dahili işlevler yok. –

+1

@limonte Doğru, uygulanan bir yöntem yok. Aslında, 'Yönlendirme \ Yönlendirme \ Güzergahında' runController 'yöntemi, eşleştirilen yol için yürütülmesi gereken "$ class" ve "$ method" u belirlemek için tam olarak aynı şekilde "explode" kullanır. – Bogdan

İlgili konular