これを行うための方法はありません。しかし、コントローラのアクションに基づいてルートURLを生成するヘルパーメソッドaction
があります。これを利用して簡単なヘルパー関数を作成して同じ結果を得ることができます。また、このメソッドは、指定されたコントローラメソッドがルートにリンクされているかどうかをチェックするので、必要なものを正確に実行します。
function action_exists($action) {
try {
action($action);
} catch (\Exception $e) {
return false;
}
return true;
}
// Sample route
Route::get('index', '[email protected]');
$result = action_exists('[email protected]');
// $result is true
$result = action_exists('[email protected]');
// $result is false
クラスを直接使用してアクションメソッドが存在するかどうかを確認することもできますが、メソッドが存在してもルートにリンクされていない場合はtrueを返します。
これは素晴らしいヒントです!私は間違いなくプログラミングで何か新しいことを学んだ。私は新しい試みをキャッチすることを意味しますが、これはそれを使用するのに最適な場所です。 – LogicDev