CakePHP3でComponentのフォルダ階層を変更する

CakePHP3
php

やりたいこと

CakePHP3は、

[PROJECT]
  └ src/
    └ Controller/
    └ Component/
      ├ HogeComponent.php
      ├ FugaComponent.php
      ├ FugoComponent.php
      ├ ...

のように、コンポーネントをComponentフォルダ配下に置かなければいけません
しかし、たくさんコンポーネントを作成するとComponentフォルダ配下がどえらいことになります。

なので、コンポーネントを階層分けしましょう。

例えば、

[PROJECT]
  └ src/
  └ Controller/
  └ Component/
    ├ Fu/
    │  ├ FugaComponent.php
    │  └ FugoComponent.php
    ├ HogeComponent.php
    ├ ...

のように、「Fu」がつくcomponentはFuフォルダの中に入れてしまします。

loadComponent

さて、上記のようにComponentフォルダを階層分けすると、loadComponentでコンポーネントが呼び出せなくなります。
階層分けを行った場合は、以下のように呼び出します。

$this->loadComponent('コンポーネント名', [
    'className' => 'コンポーネントのネームスペース'
]);

では、例でFugoComponent.phpをloadしてみます。

$this->loadComponent('Fugo', [
    'className' => '\App\Controller\Component\Fu\FugoComponent'
]);