с использованием доктрины 2.1 (и Zend Framework 1.11, не то, что это имеет значение для этого вопроса), как я могу сделать пост настойчивости и пост обновления действий, которые включают в себя восстановление в БД?
Например, создание уникального токена на основе только что сгенерированного первичного ключа «ID или генерирование эскизы для загрузки изображения (который на самом деле не требует восстановления в БД, но все же)?
Вышеуказанное на самом деле вопрос относительно двух сценариев. Оба сценария относится к следующему состоянию:
скажем, у меня есть
User
объект. Когда объект промывается после того, как он был помечен для сохранения, у него будет нормальный автоматически сгенерированный идентификатор MySQL - значений, которые обычно начинаются с 1, 2, 3 и т. Д. ..
Каждый пользователь может загрузить изображение - которое он сможет использовать в приложении - который также будет иметь запись в БД. Таким образом, у меня есть другое изображение под названиемизображение
. Каждое значениеImage
также имеет автоматическую идентификатор - одинаковую методологию, что и идентификатор пользователя.
Теперь - вот сценарии:
Когда пользователь загружает изображение, я хочу создать эскиз для этого изображения сразу после того, как он сохраняется в DB. Это должно произойти для каждого нового или обновленного изображения.
Поскольку мы пытаемся остаться умным, я не хочу, чтобы код создал миниатюру, чтобы быть написанным так:
$ Image = Новое изображение ();
...
$ Entitesmanager-> сохранить ($ image);
$ EntityManager-> Flush ();
calltofnationthathatgeneratesthumbnailoNImage ($ Image);
, а скорее, я хочу, чтобы это произошло автоматически на сохранении объекта (ну, вспомогательный промывка сохраняемого объекта), подобно препатению
или Preupdate
методы.
Так как пользователь загрузил изображение, он получает ссылку на него. Вероятно, это будет выглядеть что-то вроде: http://www.mysite.com/showimage?id= [ImageID]
.
Это позволяет всем просто изменить IGIDID в этой ссылке и увидеть изображения других пользователей.
Таким образом, чтобы предотвратить такую вещь, я хочу создать уникальный токен для каждого изображения. Поскольку на самом деле не нужно быть сложным, я думал об использовании значения MD5 ID изображения с какой-то солью.
Но для этого мне нужно иметь идентификатор этого изображения - который у меня только после промывки сохраняемого объекта - затем генерируйте MD5, а затем снова сохраняют его в БД.
Поймите, что ссылки для изображений должны быть общедоступны, поэтому я не могу просто позволить аутентифицированному пользователю просмотреть их каким-то вариантом разрешений.