Intereting Posts
Как добавить свойство к объекту в PHP> = 5.3 строгий режим без генерации ошибки Как проверить, зарегистрирован ли пользователь на другом компьютере? Что такое флагов PHP в аргументах функции? Предупреждение: mail () отключен по соображениям безопасности Разбор этой файловой структуры JSON Как загрузить LARGE-файлы на YouTube Переименуйте загруженный файл с помощью PHP, но сохраните расширение Используя PHP, MySQLi и подготовленный отчет, как я возвращаю идентификатор вставленной строки? как добавить переменную php в url name; не в ссылке URL Сравнение строк PHP – int Бесконечное соответствие подвыражений (регулярных выражений) возвращает только одно совпадение Есть ли способ получить название категории в нижнем регистре? PHP MVC / ORM Framework, которые являются Hyper PHP (HipHop) Ready Обнаруживать, если Android-приложение установлено на устройстве с помощью мобильной веб-страницы – PHP и JS Минимизировать HTML / PHP

Есть ли способ отключить добавление свойств в класс из экземпляра класса?

Есть ли способ отключить добавление свойств в класс из экземпляра класса.

Я имею в виду следующее:

Рассмотрим этот класс:

class a { private $v1; public $v2; function func(){ ... } } 

Если я это сделаю:

 $ins = new a; $ins->temp = "A variable created from outside the class! C*ap!"; var_dump($ins); 

Выход:

 объект (a) # 1 (3) {
   [ "V1": "а": частная] =>
   НОЛЬ
   [ "У2"] =>
   НОЛЬ
   [ "Темп"] =>
   string (48) «Переменная, созданная вне класса! C * ap!»
 }

Can this be disabled? `

Related of "Есть ли способ отключить добавление свойств в класс из экземпляра класса?"

Возможно, вы можете реализовать __set() и исключить из него исключение:

 class a { private $v1; public $v2; public function __set($name, $value) { throw new Exception("Cannot add new property \$$name to instance of " . __CLASS__); } }