Sau nhiều năm vui vẻ viết mã bằng notepad ++ và tuyệt vời, tôi đã được khuyên nên sử dụng PHP IDE. Tôi đang thử phpStorm và nó có vẻ tốt. Hoàn thành mã và tài liệu là một tính năng tuyệt vời nhưng không hoạt động với tôi khi các phương pháp ma thuật được sử dụng. Có một công việc xung quanh để có được phpStorm để hiểu những gì đang xảy ra trong các phương pháp ma thuật?
Tình huống của chúng tôi là như thế này:
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();
Phương thức callStatic ma thuật cho phép chúng ta lấy một tập hợp các đối tượng thông qua 1 hoặc nhiều đối số tạo nên lời gọi hàm.
Tôi thấy rằng có một câu lệnh @method để sử dụng trong những trường hợp này nhưng phpStorm chỉ chọn câu lệnh đầu tiên trong số những câu lệnh này. Hơn nữa, tôi chỉ có thể đặt kiểu trả về thành hỗn hợp ở nơi mà tôi muốn có thể đặt nó thành bất kỳ lớp nào mà nó được gọi (b trong ví dụ của tôi).
Bất kỳ ý tưởng hoặc đề xuất sẽ được nhận rất biết ơn, cảm ơn.
_call
LÀ Ý TƯỞNG TỐT? !!