2015年10月22日木曜日

CakePHP 3で、ルーティング(Routing)

CakePHP 3で、ルーティング(Routing)です。早くも、わからなくなってきました(笑)。大まかには理解できるのですが、各設定の違いがよくわからない。

use Cake\Routing\Router;

Router::defaultRouteClass('DashedRoute');

Router::scope(
  '/bookmarks',
  ['controller' => 'Bookmarks'],
  function ($routes) {
    $routes->connect('/tagged/*', ['action' => 'tags']);
  }
);

Router::scope('/', function ($routes) {
  $routes->fallbacks('InflectedRoute');
});

DashedRoute(ダッシュ区切り?)

/my-plugin/my-controller/my-action
['plugin' => 'MyPlugin', 'controller' => 'MyController', 'action' => 'myAction']

InflectedRoute(アンダーバー区切り?)

/my_controller
['controller' => 'MyController']

Route(一般的なディフォルト?)

パラメーターマッピング? Router::connect() を使う?

ちなみに、「$routes->fallbacks('InflectedRoute');」の部分は、フォールバックメソッドのはず?

フォールバックメソッドはデフォルトルーティングをショートカットする簡単な方法です。 このメソッドは、定義されたルールのために渡されたルーティングクラスです。 もし、クラスが定義されていない場合、 Router::defaultRouteClass() で使われている設定が返ります。

実際に設定してみたサイトがこちら

参考サイト
ルーティング(CakePHP Cookbook 3.x ドキュメント)
Namespace Cake\Routing\Route(CakePHP)

0 件のコメント:

コメントを投稿