Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум WEB технологии (PHP) | |||
|---|---|---|---|
| Изначальное сообщение | [ Отслеживать ] | ||
| "Какой верный путь для получения экземпляро объектов по их типу?" | +9 +/– | |
| Сообщение от Вервер (?), 11-Фев-23, 12:05 | ||
Доброго дня Товарищи! | ||
| Ответить | Правка | Cообщить модератору | ||
| Оглавление |
| Сообщения | [Сортировка по ответам | RSS] |
| 1. Сообщение от Вервер (?), 11-Фев-23, 12:10 | +8 +/– | |
Ещё дополню, что почему не стал использовать вариант с получением условно по имени класса в переменной, у меня ощущение, что такое динамическое получение объекта чем то сродни exec(), а такого рода финты вроде не совсем правильно использовать. А варианты типов объектов класса свё равно же создаются и их можно сразу в перечисление switch case добавлять. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #3, #10 | ||
| 2. Сообщение от Аноним (3), 11-Фев-23, 16:03 | +4 +/– | |
>[оверквотинг удален] | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #5 | ||
| 3. Сообщение от Аноним (3), 11-Фев-23, 16:07 | +6 +/– | |
> Ещё дополню, что почему не стал использовать вариант с получением условно по | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 Ответы: #8 | ||
| 4. Сообщение от Аноним (3), 11-Фев-23, 16:13 | +5 +/– | |
>Так вот вопрос собственно в том, насколько оправданно или наоборот плохо и как лучше всего такой тип задачи реализовывать? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #6, #7 | ||
| 5. Сообщение от Вервер (?), 11-Фев-23, 20:42 | +4 +/– | |
> Дяденька, а зачем вы диспатчите типы через enum, как будто у вас | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #2 | ||
| 6. Сообщение от Вервер (?), 11-Фев-23, 20:43 | +4 +/– | |
> А это вам как зайдёт, вот вы изобрели в пхп типы данных | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #4 Ответы: #9 | ||
| 7. Сообщение от Вервер (?), 11-Фев-23, 20:44 | +5 +/– | |
> А это вам как зайдёт, вот вы изобрели в пхп типы данных | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #4 | ||
| 8. Сообщение от Вервер (?), 11-Фев-23, 20:45 | +5 +/– | |
> eval и иже с ним плохи в первую очередь из-за того, что | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #3 | ||
| 9. Сообщение от Аноним (10), 12-Фев-23, 04:50 | +3 +/– | |
>С хаскелем не знаком кроме как слышал название этого языка. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 10. Сообщение от Аноним (10), 12-Фев-23, 05:00 | +4 +/– | |
>А варианты типов объектов класса свё равно же создаются и их можно сразу в перечисление switch case добавлять. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #1 Ответы: #12 | ||
| 11. Сообщение от Аноним (11), 12-Фев-23, 07:01 | +5 +/– | |
сделай обычный class Document. От него наследуются class Dogovor и class Pismo (еще обзови их class DoroBop и class nuCbMo, раз так фанатеешь от русских названий - сарказм на всякий случай). Класс Document при этом не должен знать о существовании своих подклассов и никак их не упоминать. Далее создай в совершенно отдельном месте функцию, которая принимает $typeFromDb и делает по нему return new КонкретныйКласс, можно через switch. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #13 | ||
| 12. Сообщение от Вервер (?), 12-Фев-23, 08:59 | +6 +/– | |
> А вообще, зачем вам получать потомков класса через базовый класс, а не | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #10 Ответы: #18 | ||
| 13. Сообщение от Вервер (?), 12-Фев-23, 09:04 | +6 +/– | |
> сделай обычный class Document. От него наследуются class Dogovor и class Pismo | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 Ответы: #14, #16 | ||
| 14. Сообщение от Аноним (11), 12-Фев-23, 15:11 | +5 +/– | |
> По поводу организации функцией, а не в родительском классе - в чём | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 | ||
| 15. Сообщение от Аноним (15), 12-Фев-23, 18:55 | +8 +/– | |
Фабричный метод с маппингом - подход имеющий право на жизнь. Вопрос в том, для чего это применять. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #24 | ||
| 16. Сообщение от ACCA (ok), 13-Фев-23, 03:54 | +3 +/– | |
Коллеги, я в растерянности. Такое впечатление, что вы вернулись к бредовым идеям самомодифицирующегося кода. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #13 Ответы: #17 | ||
| 17. Сообщение от Вервер (?), 13-Фев-23, 17:18 | +3 +/– | |
> Коллеги, я в растерянности. Такое впечатление, что вы вернулись к бредовым идеям | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #16 Ответы: #19 | ||
| 18. Сообщение от Аноним (18), 15-Фев-23, 13:56 | +3 +/– | |
>А как я узнаю, что в переменной $objClassName - корректное название класса? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #12 Ответы: #21 | ||
| 19. Сообщение от Аноним (18), 15-Фев-23, 13:59 | +2 +/– | |
Самомодифицирующийся код - это когда ты на асме берёшь и меняешь инструкции своей собственной программы. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #17 Ответы: #22 | ||
| 20. Сообщение от Аноним (18), 15-Фев-23, 14:01 | +6 +/– | |
Надо не играть в бабу Вангу и чётко спросить: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #23 | ||
| 21. Сообщение от Вервер (?), 15-Фев-23, 19:25 | +2 +/– | |
> А оно надо? Кто пользователь ORM - программист или внешний пользователь, который | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #18 | ||
| 22. Сообщение от Вервер (?), 15-Фев-23, 19:27 | +3 +/– | |
> Самомодифицирующийся код - это когда ты на асме берёшь и меняешь инструкции | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #19 | ||
| 23. Сообщение от Вервер (?), 15-Фев-23, 19:30 | +6 +/– | |
> Надо не играть в бабу Вангу и чётко спросить: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #20 | ||
| 24. Сообщение от Вервер (?), 15-Фев-23, 19:57 | +3 +/– | |
> Фабричный метод с маппингом - подход имеющий право на жизнь. Вопрос в | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #15 Ответы: #25 | ||
| 25. Сообщение от Аноним (25), 16-Фев-23, 13:26 | +/– | |
Вроде понятно. У вас контроллер компонует результаты дочерних контроллерчиков. Можно имена классов просто в базу сохранять, без искусственных partType. Выборок по этим ид нет же? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #24 Ответы: #26 | ||
| 26. Сообщение от Вервер (?), 16-Фев-23, 21:17 | +1 +/– | |
> Вроде понятно. У вас контроллер компонует результаты дочерних контроллерчиков. Можно имена | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #25 Ответы: #27 | ||
| 27. Сообщение от Аноним (25), 17-Фев-23, 13:42 | +1 +/– | |
> Блин... Ну вот сама принципиально идея сохранять имена классов в БД... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #26 Ответы: #28 | ||
| 28. Сообщение от Вервер (?), 17-Фев-23, 21:15 | +1 +/– | |
> Вы можете туда интерфейс сохранять, а не конкретный класс. И через DI | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #27 Ответы: #29 | ||
| 29. Сообщение от Аноним (29), 20-Фев-23, 14:59 | +/– | |
> Пожалуйста объясните, что такое DI контейнер? Просто пример в несколько строчек для | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #28 | ||
|
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |