The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (PHP)
Режим отображения только ответов первого уровня [ Отслеживать ]

Оглавление

Какой верный путь для получения экземпляро объектов по их типу?, Вервер (?), 11-Фев-23, (0) [смотреть все] +9

Сообщения [Сортировка по времени | RSS]


1. "Какой верный путь для получения экземпляро объектов по их типу?"  +8 +/
Сообщение от Вервер (?), 11-Фев-23, 12:10 
Ещё дополню, что почему не стал использовать вариант с получением условно по имени класса в переменной, у меня ощущение, что такое динамическое получение объекта чем то сродни exec(), а такого рода финты вроде не совсем правильно использовать. А варианты типов объектов класса свё равно же создаются и их можно сразу в перечисление switch case добавлять.

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

2. "Какой верный путь для получения экземпляро объектов по их типу?"  +4 +/
Сообщение от Аноним (3), 11-Фев-23, 16:03 
>[оверквотинг удален]
> //Получить объект нужного типа (из БД к примеру тип приходит)
> $docObj = Document::getDocByType($neededTypeFromDB);
>
> Так вот вопрос собственно в том, насколько оправданно или наоборот плохо и
> как лучше всего такой тип задачи реализовывать?
> А задача значит получение экземпляра объекта указанного типа. Видел, что во всяких
> автозагрузчиках классов сейчас используется динамическое их получение условно такой схемой
> что если запрошенного класса нет, он подгружается по имени и дальше
> также создаётся объект класса, название которого в переменной
>
$docObj = new $objClassName();

Дяденька, а зачем вы диспатчите типы через enum, как будто у вас algebraic data types вместо классов?

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

4. "Какой верный путь для получения экземпляро объектов по их типу?"  +5 +/
Сообщение от Аноним (3), 11-Фев-23, 16:13 
>Так вот вопрос собственно в том, насколько оправданно или наоборот плохо и как лучше всего такой тип задачи реализовывать?

А это вам как зайдёт, вот вы изобрели в пхп типы данных из хаскеля - осваивайте, укладывая мысль в них.

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

11. "Какой верный путь для получения экземпляро объектов по их типу?"  +5 +/
Сообщение от Аноним (11), 12-Фев-23, 07:01 
сделай обычный class Document. От него наследуются class Dogovor и class Pismo (еще обзови их class DoroBop и class nuCbMo, раз так фанатеешь от русских названий - сарказм на всякий случай). Класс Document при этом не должен знать о существовании своих подклассов и никак их не упоминать. Далее создай в совершенно отдельном месте функцию, которая принимает $typeFromDb и делает по нему return new КонкретныйКласс, можно через switch.
Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

15. "Какой верный путь для получения экземпляро объектов по их типу?"  +8 +/
Сообщение от Аноним (15), 12-Фев-23, 18:55 
Фабричный метод с маппингом - подход имеющий право на жизнь. Вопрос в том, для чего это применять.

Очевидно, что у вас есть некая универсальная форма, которая посылает ид типа создаваемого документа. И дальше вы создаете документ исходя из его ид. И в базу потом пишете с тем же самым ид.
Вместо этого можно для каждого типа документа сделать свои формы, тип создаваемого документа разруливать по маршруту обработчика, ид для базы держать в константе класса и работать с ним только при записи в базу - то есть, в контроллере вообще никогда.

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

20. "Какой верный путь для получения экземпляро объектов по их типу?"  +6 +/
Сообщение от Аноним (18), 15-Фев-23, 14:01 
Надо не играть в бабу Вангу и чётко спросить:

>Я тут пишу свои всякие поделки

В чём смысол поделки, самопальная ORM?

Ответить | Правка | Наверх | Cообщить модератору
есть ответы, показать

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру