- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
// seen in real project
class SomeClass extends AnotherClass {
protected $_AnotherClass = null;
public function __construct() {
$this->_AnotherClass = new AnotherClass();
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+167
// seen in real project
class SomeClass extends AnotherClass {
protected $_AnotherClass = null;
public function __construct() {
$this->_AnotherClass = new AnotherClass();
}
}
Сочная вырезка из структуры классов.
я имел ввиду -- и что, этот код живет в продакшене?
зачем он?
Я знаю, как работает паттерн wrapper (он же decorator), но тут-то он ничерта не делает!
Но ведь в PHP принято давать таблицам префиксы (что бы можно было разместить восемь версий приложения на одной базе, и не платить хостингу два доллара за еще одну базу).
Так что нужно давать классу префикс.
Если представить, что в системе например есть 20 классов, которые надо сохранять в базе, то в мануале можно написать так:
Q: Как мне поддержать префикс таблицы?
A: Создайте класс следующего содержания:
для каждого из классов
в 5.4 опять уберут
И вообще, вся эта вырвиглазная херня была написана для того чтобы не вносить изменения в существующий код ORM. Да, можно рефакторить, но это, как обычно, "когда-нибудь потом".
Декоратор должен добавлять новый функционал, а этот ичего не добавляет.
Шиззард уже пояснил -- зачем такое надо.