3
3

More than 5 years have passed since last update.

laravelのRoute::controller で NamedRoute を使う

Posted at

例えばメニューリストで現在表示しているページの部分だけ装飾を変えたい時、cssのclassに'active'を付け加えたい等といった感じの時にNamedRouteだと楽なのだけど、 Route::controller で指定されてる時だとメソッドに名前をつける方法がドキュメントにものってなくてわからなかったのでソースを追っかけてわかったのでメモ。ちなみに、Laravel4.2以降な気配。

routes.php
<?php

Route::controller( 'admin', 'adminController', [
  'getIndex' => 'admin_index',
  'getUsers' => 'admin_users',
  'メソッド名' => '名前'
] );

メソッド名は省略せずに書く必要有り。

こうやればメニュー画面などで使えるようになる。

menu.ctp
<ul>
  <li class="<?= Route::currentRouteNamed('admin_index') ? ' active' : '' ?>"><a href="/admin/">管理画面</a></li>
  <li class="<?= Route::currentRouteNamed('admin_users') ? ' active' : '' ?>"><a href="/admin/users">全ユーザ一覧</a></li>
</ul>
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3