i feel silly asking question can't find clear answer anywhere.
i have token entity has, among other things, creation_time.
i have parameter in parameters.yml called token_lifespan.
for token, if creation_time < (time() - token_lifespan) has expired.
the problem can't find nice way pass token_lifespan parameter entity. know like:
$token->hasexpired($this->getparameter('token_lifespan')) but feels icky. i've been looking @ making service, , dependency injection, way pass token lifespan token when created, can't work out i'm doing.
i'm making tokens $token = new mytoken(); , i'm getting tokens doctrine so:
$this->getdoctrine() ->getrepository('mybundle:mytoken') ->find($token_id); do need make repository service? like:
mytoken_repository: class: mybundle\entity\mytoken factory_service: 'doctrine.orm.default_entity_manager' factory_method: 'getrepository' calls: - [setlifespan, ['%token_lifespan%']] and mean? still create tokens same way, new mytoken()? , make setlifespan method in mytoken class store lifespan?
finally, can still tokens doctrine $this->getdoctrine()...? , if need use token_lifespan parameter in repository class?
sorry there's million questions in there. feel dependency injection part of symfony docs assumes know lot more framework do.
you should logic out of entity , make service it. entity should not have dependencies.
you configure service have %token_lifespan% argument , make method this:
/** * @return boolean */ function isexpired(token $token) { //your logic here, add dependencies constructor , "arguments:" in service configuration } i hope gets started.
Comments
Post a Comment