Después de muchos años felices codificando en notepad ++ y sublime, me recomendaron probar un IDE de PHP. Estoy probando phpStorm y parece agradable. La finalización del código y la documentación es una gran característica, pero no me funciona cuando se utilizan métodos mágicos. ¿Existe una solución alternativa para que phpStorm comprenda lo que está sucediendo con los métodos mágicos?
Nuestra situación es algo como esto:
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();
El método mágico callStatic nos permite obtener una colección de objetos a través de 1 o más argumentos que componen la llamada a la función.
Veo que hay una declaración @method para usar en estos casos, pero phpStorm solo está recogiendo la primera de estas declaraciones. Además, solo puedo configurar el tipo de retorno en mixto, ya que preferiría poder configurarlo como cualquier clase a la que se haya llamado (b en mi ejemplo).
Cualquier idea o sugerencia será bien recibida, gracias.
_call
ES UNA BUENA IDEA? !!