ariddlestone / ariddlestone/phpstan-cakephp2
Undefined method appears when Component and Model have the same name
- 主要言語
- PHP
- スター
- 2
- フォーク
- 3
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Hi.
Thanks for this brilliant extension first of all.
I'm working with project where all Models don't have `Model` suffix. Like described in the official documentation (https://book.cakephp.org/2/en/models.html#understanding-models)
So in case we have Component and Model with the same name it leads to `Call to an undefined method BasicComponent::some_method`.
Code sample:
```php
Basic->some_method();
}
}
```
As I can see component service is setup first so probably it found `BasicComponent` and tries to look method inside of it only and doesn't take into account that models is also exists.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
BasicComponent、Basic model、FakeController の reproducer から始め、コンポーネントとモデルが同じ名前を共有する場合に resolver が $this->Basic をどのように解決するかを追跡します。controller の $uses 宣言の処理を確認します。この例の回帰ケースを用意し、undefined-method エラーを発生させずにモデルメソッドが認識されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- php
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100