Это плохая практика для хранения BLOB-данных в свойстве класса

Плохо ли хранить содержимое файла PDF в свойстве класса?

у меня есть Cart класс, в котором хранится информация о корзине покупателя. Частью процесса заказа является то, что клиент может загрузить коммерческий счет. Является ли плохой практикой помещать необработанное содержимое этого файла в свойство класса (которое сохраняется после сохранения в MySQL)?

Файлы должны быть относительно небольшими (не более пары сотен килобайт), и на самом деле в один момент будет создан только один экземпляр класса.

0

Решение

Нет, это плохая идея. Не делай этого.

Если вы сохраните PDF-файл в виде большого двоичного объекта, вам понадобится весь PDF-файл в памяти. Если есть несколько объектов (возможно, в другом скрипте), вы все эти PDF-файлы в памяти. (Независимо от того, будут ли эти PDF-файлы использоваться вашим кодом или нет)

Вместо этого вы должны сохранить путь к файлу PDF. Обратите внимание, что-то вроде readfile($user->pdf) будут не нужен весь PDF в памяти.

2

Другие решения

Других решений пока нет …