После многих счастливых лет кодирования в блокноте ++ и возвышенном, мне посоветовали дать PHP IDE. Я пытаюсь 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();
Метод magic callStatic позволяет получить коллекцию объектов через 1 или более аргументов, которые составляют вызов функции.
Я вижу, что в этих случаях есть оператор @method, но phpStorm только подбирает первое из этих утверждений. Кроме того, я могу только установить тип возвращаемого значения в смешанный, где я бы предпочел установить его как любой класс, на который он был вызван (b в моем примере).
Любые идеи или предложения были бы очень благодарны, спасибо.