Я понимаю, как работает поздняя статическая привязка, но я не могу придумать, когда я буду использовать ее. Примеры на PHP-сайте хороши, но не показывают никакого реалистичного использования. Мне просто интересно, есть ли примеры, когда LSB абсолютно необходим для решения проблемы или когда это помогает упростить потенциально сложный код.Практические примеры поздней статической привязки в PHP?
1
A
ответ
0
Он может быть использован для создания статических моделей фабрики, используя конце статического связывания с статическим методом перегрузки для предотвращения необходимости в дополнительных громоздкие заводские классах, такие как:
class MyObject {
public static function createInstance($typeA = true) {
if ($typeA) {
return static::createInstanceA();
}else{
return static::createInstanceB();
}
}
protected static function createInstanceA() {
return new MyObject(...);
}
protected static function createInstanceB() {
return new MyObject(...);
}
}
class MyObjectDebug extends MyObject {
protected static function createInstanceA() {
return new MyObjectDebug(...);
}
}
если вы любите такие вещи, конечно, ,
0
LSB важно при расширении классов. Он позволяет использовать static::
для ссылки на элемент класса, тогда как self::
конкретно ссылается на класс, который он использует. В основном, LSB позволяет вам переопределять статические методы в базовом классе.
Смежные вопросы
- 1. Метод переопределения против поздней статической привязки?
- 2. Практические примеры использования ConcurrentHashMap
- 3. Практические примеры Idris
- 4. Практические примеры документов MongoDB
- 5. Практические примеры использования NLTK
- 6. Практические примеры взаимной рекурсии?
- 7. Практические примеры авторизации службы RESTful?
- 8. Практические примеры использования пружинной интеграции?
- 9. Практические примеры хорошего использования классов?
- 10. Практические примеры оператора Python AND
- 11. Практические примеры Java - возврат объекта к общему
- 12. Вызвать метод в android - практические примеры
- 13. Как передать параметр поздней привязки
- 14. Практические примеры использования UDF (ITVF и MTVF)
- 15. Практические примеры использования промежуточного программного обеспечения OWIN
- 16. Что такое практические примеры объектов прототипа javascript?
- 17. Практические примеры использования явного курсора оракула
- 18. Практические примеры Тестирование кода на C#
- 19. OTP-поведение: gen_fsm; gen_event. Практические примеры?
- 20. Основные примеры привязки данных
- 21. Примеры ошибок привязки Android
- 22. C# Концепция ранней и поздней привязки C#
- 23. Зависимости статической привязки
- 24. Функция статической привязки в C++
- 25. случай использования статической привязки и динамической привязки
- 26. Практические примеры использования для нового some- Clojure в> Макрос
- 27. Практические примеры использования идентификатора корреляции в обмене сообщениями?
- 28. Концепция статической и динамической привязки
- 29. JXTA Практические примеры jxta II .... исключение, когда NetManager.startNetwork(); выполняется
- 30. Практические примеры генерации документации/XML с обработчиками аннотаций Java