web学習日記

プログラミングやweb関係を学んだことを呟くブログ

CakePHP3 でマークダウン機能をつけようとしたと時にエラー

今現在、メモ帳アプリを作成しているのですが、マークダウン機能を実装しようとして、githubからソースコードを落としたのですが、
導入部分ではまってしまった。

githubマークダウンソースコード

https://github.com/ivanamat/cakephp3-markdown/blob/master/README.md

今回はコンポーネントの読み込み部分で

コンポーネントエラーが発生しました。
f:id:nana205:20181012165330p:plain

githubプラグインコードを確認したところ

class MyController extends AppController {

        public function initialize() {
            parent::initialize();

            $this->loadComponent('Markdown.Markdown');
        }

    }

...or load the component in the array of components. ←これ

 class MyController extends AppController {

        public $components = [
            'Markdown' => [
                'className' => 'Markdown.Markdown'
            ]
        ];

    }

自分のコード

public function initialize()
{
    parent::initialize();

    $this->loadComponent('Paginator');
    $this->loadComponent('Flash'); // FlashComponent をインクルード
    $this->Auth->allow(['tags']);
    $this->loadComponent('Markdown.Markdown');
}
public $components=[
    'Markdown'=>[
      'className' => 'Markdown.Markdown'
        ]
    ];

調べてみるとよく自分のコードをみてるとわかるのですが、
$this->loadComponent('Markdown.Markdown');と $components両方ともコンポーネントを呼びだしているためエラーが発生しているのが原因なようです。
スタックオバーフローで聞いてみたところ
コントローラーの $components プロパティによるコンポーネントの呼び出しは非推奨になっているようでloadComponentメソッドを使用たほうが良いようです。
$componentsの箇所を削除したところこのエラーは無事消えました。