Tôi đang làm việc với các chức năng ẩn danh mà tôi đang tạo chức năng ẩn danh bên ngoài đối tượng, sau đó thêm nó vào một đối tượng sau đó, nó sẽ được sử dụng với phép thuật __callStatic chức năng. Các đóng được thêm vào để chứa các phương thức từ lớp cha. Tôi tự hỏi liệu tôi có thể gọi những phương pháp đó từ việc đóng cửa không?Chức năng ẩn danh/Đóng và sử dụng self :: hoặc static ::
Ngay bây giờ tôi nhận được lỗi này:
EmptyObject::addMethod('open', function(){
if (static::_hasAdapter(get_class(), __FUNCTION__))
return self::_callAdapter(get_class(), __FUNCTION__, $details);
echo '<p>You have mail!</p>';
});
ném lỗi này:
Fatal error: Cannot access static:: when no class scope is active in
Và
//Add the functions
EmptyObject::addMethod('open', function(){
if (EmptyObject::_hasAdapter('EmptyObject', __FUNCTION__))
return EmptyObject::_callAdapter('EmptyObject', __FUNCTION__, $details);
echo '<p>You have mail!</p>';
});
ném lỗi này vì phương pháp này được bảo vệ
Fatal error: Uncaught exception 'BadMethodCallException' with message 'Method '_hasAdapter' was not found in class EmptyObject'
Cũ php .. Trong 5.5.9 Tôi có thể thấy 'static ::' trong hàm đồng nhất –