Skip to content

Instantly share code, notes, and snippets.

@kseta
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kseta/9f8d931547af2c8885ba to your computer and use it in GitHub Desktop.
Save kseta/9f8d931547af2c8885ba to your computer and use it in GitHub Desktop.
My First a Usecase.php
<?php
namespace Demo\AdminBundle\Usecase;
use JMS\DiExtraBundle\Annotation\Inject;
use JMS\DiExtraBundle\Annotation\InjectParams;
use JMS\DiExtraBundle\Annotation\Service;
use Doctrine\ORM\EntityManager;
use FOS\UserBundle\Doctrine\UserManager;
use Demo\UserBundle\Usecase\UsecaseInterface;
use Demo\UserBundle\Entity\User;
/**
* @Service("demo.usecase.user_register")
*/
class UserRegisterUsecase implements UsecaseInterface
{
/**
* @var EntityManager
*/
private $entityManager;
/**
* @var UserManager
*/
private $userManager;
/**
* @InjectParams({
* "entityManager" = @Inject("doctrine.orm.entity_manager"),
* "userManager" = @Inject("fos_user.user_manager")
* })
*/
public function __construct(EntityManager $entityManager, UserManager $userManager)
{
$this->entityManager = $entityManager;
$this->userManager = $userManager;
}
/**
* @param $user
* @return mixed
*/
public function run(User $user)
{
$this->entityManager->persist($user);
$this->entityManager->flush();
return $user;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment