Articles of наследование

Наследование динамического класса php

Я знаю, что я могу создать класс во время выполнения, выполнив $obj = (object)array('foo' => 'bar');+ таким образом я могу использовать echo $obj->foo; //bar Что делать, если хотите, чтобы $ obj наследовался от существующего класса? Что я хочу достичь: я нарисовал проект paris на github ( https://github.com/balanza/paris ). Это активный класс записей. Интересно, мне нужно […]

Использование $ this, если не в объектном контексте php

Я только начал изучать OOPS в php. Я написал простую программу для реализации наследования. Я получаю фатальную ошибку $ this, если не в контексте объекта. Может ли кто-нибудь объяснить мне эту ошибку, что это значит? вот мой код: <?php class human{ public $gender; public function _construct($gender) { $this->gender=$gender; echo $this->get_gender(); } public function get_gender() { […]

PHP – установка унаследованного статического свойства также установит его в других классах, наследующих его

У меня есть иерархия классов, представляющих элементы html. Некоторые из них могут быть несовместимы с некоторыми версиями браузера. Например, холст HTML5 не совместим с Internet Explorer до версии 9. Я хотел бы, чтобы каждый тип элемента мог знать, поддерживаются или не поддерживаются вызывающим браузером. abstract class AbstractView // Base class, doesn't represent anything. { // […]

Как выполнить единичный тест наследующих объектов?

Когда вы используете композицию, вы можете высмеивать другие объекты, из которых зависит ваш класс под тестом, но когда вы используете наследование, вы не можете издеваться над базовым классом. (Или вы можете?) Обычно я стараюсь отдать предпочтение композиции над наследованием , но иногда наследование действительно кажется лучшим инструментом для работы – ну, по крайней мере, до […]

Enterprise Architect 8> Отображение цепочки наследования для класса

Я импортировал исходную папку PHP в Enterprise Architect. Теперь я хотел бы видеть цепочку наследования любого конкретного класса. Другими словами, я хотел бы увидеть одну большую диаграмму, отображающую все отношения класса. Большинство классов находятся в папках отдельно от родительского / дочернего класса. Как мне это сделать..? Это была моя причина для установки Enterprise Architect: я […]

Сложное поведение с PHP (5.3), статическое наследование и ссылки

Я пишу библиотеку в PHP 5.3, основная часть которой представляет собой класс с несколькими статическими свойствами, который расширяется из подклассов, чтобы разрешить ноль-conf для дочерних классов. Во всяком случае, вот образец, чтобы проиллюстрировать ту особенность, которую я нашел: <?php class A { protected static $a; public static function out() { var_dump(static::$a); } public static function […]