Удаление осиротевших объектов по команде clear-orphans
Я использую OneUp Uploader Bundle вместе с приютом, и я не уверен, как обработать очистку сущностей (созданных слушателем) после очистки файла командой clear-orphans - как это обычно обрабатывается?
Я хотел бы видеть событие, запускаемое для каждого файла, который очищен (передает имя файла и отображение), но ничего не нашел (при условии, что диспетчер событий доступен для команды).
1 ответ
Идея создания приюта в OneupUploaderBundle заключается в том, что вы не загрязняете свою папку загрузки файлами, которые не принадлежат ни одной сущности. Это означает, что если вы используете загруженные файлы в своих организациях, вы должны переместить их из приюта. Если вы настроили отображение для использования приюта, все загруженные файлы будут сохранены в отдельной папке после загрузки.
Они будут перемещены в правильное место, как только вы активируете
uploadFiles
Способ хранения.
Это означает, что вы можете переместить логику из прослушивателя событий (который, тем не менее, будет называться), но переместить ее в контроллер, где вы хотите, наконец, загрузить и сохранить файлы в приюте.
// src/Acme/Controller/AcmeController.php
class AcmeController extends Controller
{
public function storeAction()
{
// ...
if ($form->isValid()) {
$orphanageManager = $this->get('oneup_uploader.orphanage_manager')->get('gallery');
// upload all files to the configured storage
$files = $manager->uploadFiles();
// your own logic to apply the files to the entity
// ...
}
}
}
Обязательно используйте детский дом только в том случае, если это действительно необходимо. У него есть некоторые недостатки.