Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.11.2015, 18:21
|
|||
|---|---|---|---|
PHP: Независимые статические методы в наследуемых синглтонах |
|||
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Подскажите, что нужно сделать, чтобы $r1 и $r2 были инстансами классов cls1 и cls2 соответственно? У меня есть базовый класс-синглтон и есть несколько наследуемых от него классов-синглтонов. Мне нужно чтобы статические методы и переменные в наследуемых классах были независимыми. Но при этом мне бы не хотелось переносить их из базового класса в наследуемые, т.к. код у них одинаковый. ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2015, 18:25
|
|||
|---|---|---|---|
PHP: Независимые статические методы в наследуемых синглтонах |
|||
|
#18+
Замена __CLASS__ на get_called_class() по сути ничего не меняет. Имя класса получается правильным, однако статический $instance одинаковый у обоих наследуемых классов, поэтому этот код в обоих строках выводит cls1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2015, 18:30
|
|||
|---|---|---|---|
PHP: Независимые статические методы в наследуемых синглтонах |
|||
|
#18+
На сайте PHP в 9 комментарии подобный пример рассмотрен. Но там используется статический хеш-массив с ключами get_called_class. А нет ли другого способа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2015, 18:36
|
|||
|---|---|---|---|
PHP: Независимые статические методы в наследуемых синглтонах |
|||
|
#18+
Такой код в принципе работает: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. А возможно ли обойтись без хеш-массива? У меня подобных методов больше одного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2015, 18:41
|
|||
|---|---|---|---|
PHP: Независимые статические методы в наследуемых синглтонах |
|||
|
#18+
гугли late static binding ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.11.2015, 18:46
|
|||
|---|---|---|---|
PHP: Независимые статические методы в наследуемых синглтонах |
|||
|
#18+
Дали подсказку, сделал так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. По-моему это оптимально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.11.2015, 13:49
|
|||
|---|---|---|---|
PHP: Независимые статические методы в наследуемых синглтонах |
|||
|
#18+
авторПо-моему это оптимально. так уже лет 5 никто не делает. все на DI ушли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=23&mobile=1&tid=1461394]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 308ms |

| 0 / 0 |
