Документация относительно IDisposable дает довольно ясный и подробный explaination поведения, а также пример кода. GC НЕ будет звонить Dispose()
метод в интерфейсе, но он назовет финализатор для Вашего объекта.
Нет, это невозможно.
Цитата из справочной страницы __get :
Перегрузка элементов работает только в контекст объекта. Эти волшебные методы не будет запускаться в статике контекст. Следовательно, эти методы могут не объявляться статическим.
В PHP 5.3 был добавлен __ callStatic
; но еще нет ни __ getStatic
, ни __ setStatic
; даже если идея иметь / кодировать их часто возвращается на внутреннем уровне php @mailling-list.
Есть даже Запрос на комментарии: Статические классы для PHP
Но все еще не реализованы (пока?)