Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
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:21 |
|
||
|
PHP: Независимые статические методы в наследуемых синглтонах
|
|||
|---|---|---|---|
|
#18+
Замена __CLASS__ на get_called_class() по сути ничего не меняет. Имя класса получается правильным, однако статический $instance одинаковый у обоих наследуемых классов, поэтому этот код в обоих строках выводит cls1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 18:25 |
|
||
|
PHP: Независимые статические методы в наследуемых синглтонах
|
|||
|---|---|---|---|
|
#18+
На сайте PHP в 9 комментарии подобный пример рассмотрен. Но там используется статический хеш-массив с ключами get_called_class. А нет ли другого способа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 18:30 |
|
||
|
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:36 |
|
||
|
PHP: Независимые статические методы в наследуемых синглтонах
|
|||
|---|---|---|---|
|
#18+
гугли late static binding ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 18:41 |
|
||
|
PHP: Независимые статические методы в наследуемых синглтонах
|
|||
|---|---|---|---|
|
#18+
Дали подсказку, сделал так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. По-моему это оптимально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2015, 18:46 |
|
||
|
PHP: Независимые статические методы в наследуемых синглтонах
|
|||
|---|---|---|---|
|
#18+
авторПо-моему это оптимально. так уже лет 5 никто не делает. все на DI ушли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 13:49 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=39104875&tid=1461394]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 417ms |

| 0 / 0 |
