notepad ++と崇高なコーディングで何年も幸せに過ごした後、PHPIDEを試してみるようにアドバイスされました。phpStormを試していますが、良さそうです。コードの完成とドキュメント化は素晴らしい機能ですが、魔法のメソッドを使用するとうまくいきません。phpStormに魔法のメソッドで何が起こっているのかを理解させるための回避策はありますか?
私たちの状況は次のようなものです。
abstract class a {
public static function __callStatic($method,$args)
{
if(strpos($method,"get_by_") === 0)
{
//do stuff
} elseif(strpos($method,"get_first_by_") === 0) {
//do stuff
} elseif($method == "get_all") {
//do stuff
}
}
}
class b extends a {
// some more stuff
}
b::get_by_user_id(27);
b::get_first_by_id(156);
b::get_all();
魔法のcallStaticメソッドを使用すると、関数呼び出しを構成する1つ以上の引数を介してオブジェクトのコレクションを取得できます。
これらの場合に使用する@methodステートメントがあることがわかりますが、phpStormはこれらのステートメントの最初のステートメントのみを取得しています。さらに、return typeをmixedに設定することしかできません。これは、これが呼び出されたクラス(私の例ではb)として設定できるようにするためです。
どんなアイデアや提案も非常にありがたく受け取られます、ありがとう。