Bir sayfaya ilişkin verileri görüntüleyen bir hizmetim var, ancak bu veri bulunamazsa, ana sayfaya yönlendirmelisiniz. Hayatım boyunca bunu Sf2'de nasıl yapacağımı anlayamıyorum. Servis ve yönlendirici ile çalışmak için pek çok farklı yol var, ancak hiçbiri işe yaramıyor.Symfony2'deki bir Hizmetten Yeniden Yönlendirme
Symfony2'denamespace Acme\SomeBundle\Services;
use Acme\SomeBundle\Entity\Node;
use \Doctrine\ORM\EntityManager;
use \Symfony\Component\HttpKernel\Event\GetResponseEvent;
use \Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use \Symfony\Bundle\FrameworkBundle\Routing\Router;
use \Symfony\Component\Routing\Generator\UrlGenerator;
use Symfony\Component\HttpFoundation\RedirectResponse;
class NodeFinder
{
private $em;
private $router;
public function __construct(EntityManager $em, Router $router)
{
$this->em = $em;
$this->router = $router;
}
public function getNode($slug)
{
$node = $this->em->getRepository('SomeBundle:Node')->findOneBy(array('slug' => $slug));
if (!$node) { //if no node found
return $this->router->redirect('homepage', array(), true);
}
}
Teşekkür ederiz. Sorun şu ki bu hizmeti birçok yerde kullanıyorum, bu yüzden denetleyicide yeniden yönlendirme yapan bir çok kod çoğaltması var. – Acyra
Sallly haklı, kontrol cihazınızda herhangi bir yönlendirme yapmalısınız, hizmetinizde değil. –
@ChrisMcKinnel çünkü? Çok fazla kullanıcım var, eğer kullanıcı giriş yapmamışsa, giriş sayfasına yönlendirin gerçekten? Bunu 100 kere kopyalamak zorunda mıyım? kötü kötü kötü – Toskan