Вы можете использовать empty()
. Он вернет true, если свойство не существует (без вызова «Notice») или является ложным (пустой массив - ложным):
if (empty($this->implements) === false) {
}
Мое практическое правило: если вы делаете что-то, связанное с инициализацией, всегда сначала вызывайте метод суперкласса (если вы собираетесь вызывать его вообще). Это дает суперклассу возможность выполнить любую настройку, на которую вы можете полагаться позже в своем методе. Если вы делаете что-то, связанное с разрушением, вызывайте метод суперкласса последним. Это гарантирует, что вы можете полагаться на состояние объекта на протяжении всего выполнения вашего метода. Наконец, рассмотрим любой другой случай в индивидуальном порядке. Например, если вы обрабатываете событие, вы, вероятно, захотите сначала обработать событие и вызвать метод суперкласса только в том случае, если вы решили не обрабатывать событие или если вы каким-то образом изменили его и хотите передать его вместе с событием. цепь.