Posts Tagged ‘хак’

дружественные классы в PHP

Понедельник, Апрель 7th, 2008

заметка, как продолжение статьи о методах доступа в PHP.

Как известно, в C++, кроме основных трех методов доступа к методам и свойствам классов, есть еще так называемые “дружественные классы” — классы, которым дозволено обращаться к любым методам и свойствам класса, указанного как друга. В PHP данной возможности к сожалению нет, а она так часто бывает необходимой… Зачем оно надо? Например, когда Вам надо создать экземпляр класса, реализующий возможность установки свойств через __set, но при этом Вы хотите свойства указывать более высокоуровневыми свойствами, нежели прямым воздействием на объект. Тогда можно было бы объявить метод __set protected и не заморачиваться, но что, если __set - унаследован от базового класса и объявлен как public? тогда поможет грязный хак :) (more…)