Я начал использовать Кэширование Symfony и предпочел FilesystemCache, хотя он самый медленный, но не требует никаких изменений в php.ini, насколько я знаю.
У меня есть форма, которая заполняет огромный список клиентов, и это занимает много времени для загрузки. Я рассматриваю ленивую нагрузку, но количество времени ожидания одинаково. Итак, сейчас я пытаюсь кешировать.
Мне удалось успешно кэшировать результат доктрины, сделать это довольно просто, следуя документации. В основном сделайте запрос, затем сохраните массив в файл кэша. Symfony даже сохраняет объекты, чего я и хочу.
Единственная проблема заключается в том, что ассоциации не гидратированы, поэтому они сохраняются как нулевые. Внутри объекта Client
у меня есть это свойство:
/**
* @ORM\OneToOne(
* targetEntity="Address", cascade={"persist"}
* )
* @ORM\JoinColumn(referencedColumnName="id", nullable=true)
*/
private $address;
Я посмотрел документы доктрины и попробовал режимы гидратации, но ни один из них, похоже, не раскрывает Address
сущность.