Да со стилем беда, тут сказалось влияние стандартов C#, которые тоже аврально изучались. Жаль что мир не выбрал чего-то одного да и в самом PHP каждый тянет одеяло на себя habrahabr.ru/post/38214/
Причина в том что я с удовольствием бы сделал setEncoding скрытым, а оставил бы только Encodings как на запись так и на чтение и по этому метод setEncoding начинается с маленькой как внутренний, а SupportEncodings открытый и обще доступный.
Но я не увидел красивого метода реализации свойств на PHP
На счет областей видимости вы правы хоть public и по умолчанию, но указывать их все же правило хорошего стиля. А вот с геттерами и сеттерами в PHP будет много толкований пока не реализуют поддержку «номальных» свойств класса. Или же я не до конца верно понял на счет «оформил в виде геттеров и сеттеров»
Но я не увидел красивого метода реализации свойств на PHP