Как я должен сделать пост настойчивости / обновления действий В доктрине 2.1, который включает в себя восстановление до БД?

с использованием доктрины 2.1 (и Zend Framework 1.11, не то, что это имеет значение для этого вопроса), как я могу сделать пост настойчивости и пост обновления действий, которые включают в себя восстановление в БД?

Например, создание уникального токена на основе только что сгенерированного первичного ключа «ID или генерирование эскизы для загрузки изображения (который на самом деле не требует восстановления в БД, но все же)?


редактировать - Давайте объясним, будем ли мы?

Вышеуказанное на самом деле вопрос относительно двух сценариев. Оба сценария относится к следующему состоянию:

скажем, у меня есть User объект. Когда объект промывается после того, как он был помечен для сохранения, у него будет нормальный автоматически сгенерированный идентификатор MySQL - значений, которые обычно начинаются с 1, 2, 3 и т. Д. ..
Каждый пользователь может загрузить изображение - которое он сможет использовать в приложении - который также будет иметь запись в БД. Таким образом, у меня есть другое изображение под названием изображение . Каждое значение Image также имеет автоматическую идентификатор - одинаковую методологию, что и идентификатор пользователя.

Теперь - вот сценарии:

  1. Когда пользователь загружает изображение, я хочу создать эскиз для этого изображения сразу после того, как он сохраняется в DB. Это должно произойти для каждого нового или обновленного изображения.
    Поскольку мы пытаемся остаться умным, я не хочу, чтобы код создал миниатюру, чтобы быть написанным так:

    $ Image = Новое изображение ();
    ...
    $ Entitesmanager-> сохранить ($ image);
    $ EntityManager-> Flush ();
    calltofnationthathatgeneratesthumbnailoNImage ($ Image);

    , а скорее, я хочу, чтобы это произошло автоматически на сохранении объекта (ну, вспомогательный промывка сохраняемого объекта), подобно препатению или Preupdate методы.

  2. Так как пользователь загрузил изображение, он получает ссылку на него. Вероятно, это будет выглядеть что-то вроде: http://www.mysite.com/showimage?id= [ImageID] .
    Это позволяет всем просто изменить IGIDID в этой ссылке и увидеть изображения других пользователей.
    Таким образом, чтобы предотвратить такую ​​вещь, я хочу создать уникальный токен для каждого изображения. Поскольку на самом деле не нужно быть сложным, я думал об использовании значения MD5 ID изображения с какой-то солью.
    Но для этого мне нужно иметь идентификатор этого изображения - который у меня только после промывки сохраняемого объекта - затем генерируйте MD5, а затем снова сохраняют его в БД.

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

6
задан Doron 22 September 2011 в 10:42
поделиться