Если объект «пустой» или нет, это вопрос определения, и поскольку это зависит от природы объекта, который представляет класс, это должен определить класс.
PHP сам относится к каждомуэкземпляр класса не пустой.
class Test { }
$t = new Test();
var_dump(empty($t));
// results in bool(false)
Не может быть общего определения для "пустого" объекта.Вы можете возразить в приведенном выше примере, что результат empty()
должен быть true
, потому что объект не представляет никакого содержимого.Но как узнать PHP?Некоторые объекты никогда не предназначены для представления контента (например, например, фабрики), другие всегда представляют значащую ценность (например, new DateTime()
).
Короче говоря, вам придется придумать свои собственные критерии для конкретногои протестируйте их соответствующим образом, либо извне объекта, либо из самописного метода isEmpty()
в объекте.