Здравствуйте не знаю как лучше сделать, таблица 50 мегабайт, хочется что б быстрей работало нужно сделать выборку
при CAT = 5 (CAT_2 > 100 and CAT_2 < 100 ) и при CAT = 30 (CAT_2 > 50 and CAT_2 < 500 )
Задача в чем. Запросить нужное свойство сначала из объекта пользовательских настроек, если в он в себе такого не содержит, то запросить ту же цепочку из настроек дефолтных. Собсно, в чем беда то?
Если я правильно понимаю, то задача слить 2 json объекта, чтобы при этом пользовательские установки перезаписали дефолтные. В чем проблема?
name и group1 перезапишется. group2 останется дефолтным. Как гонять из json и обратно - это дело техники. Как превратить итог в объект, дак json_decode по умолчанию сделает объект. А надо массив, поставь true на второй аргумент.
Про рефлексию знал. Но хотел узнать нет ли более экономичного способа? Останавливал вопрос: насколько Рефлексия дорогая? Если в процессе выполнения скрипта придется много раз выяснять абстрактный класс или нет. Она же создает объект...
Ну и зачем вам тогда тут классы? Зачем строковые данные превращать в исполняемый код?
Тут я бы порекомендовал посмотреть, как и зачем это делается в Twig. В двух словах, шаблон может содержать переменные, условные конструкции, циклы, исполнение которых зависит от передаваемых параметров. Соответственно, либо парсить шаблон каждый раз, либо создать один раз класс и пользоваться им, пока шаблон не изменится.
Класс удобно использовать, потому что есть автозагрузка. И вообще, класс удобно использовать
Это ещё и шаблонизатор? Ну вот зачем вам там динамические классы?
Очень хороший и удобный подход. Используется, например, в Twig.
Мелкий пишет:
С приложением должен общаться порождающий паттерн, приложение не должно задумываться, из кеша это чтение было сделано или более дорогим способом каким-то. Для шаблонов уместна фабрика, которая будет порождать объект с требуемыми характеристиками. Дальше (обычно при построении объекта самим объектом, чтобы фабрика о кешах не знала тоже) можно пнуть кэширующий прокси, который отдаст данные из кеша или, в случае промаха, пнёт тяжеловесный метод построения шаблона и, попутно, сохранения результата построения в кэш.
Да так все и происходит примерно. Я только не пойму как из примера, который я запостил, можно было сделать какие-то выводы об архитектуре приложения, которые бы позволяли рукоприкладствовать бумажной версией книги о шаблонах проектирования?