Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF2][PHP] Wywołanie to route\ to url poza używanym kontrolerem
Geniesis
post 7.04.2015, 18:10:13
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 4.12.2013
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Witam.
Na początek trochę kodu (przykładowe użycie):

CreatorController (zf2.localhost/creator/index)
  1. <?php
  2. namespace Creator\Controller;
  3. use Zend\View\Model\ViewModel;
  4. use Zend\Mvc\Controller\AbstractActionController;
  5. use Creator\Controller\SessionServiceController;
  6.  
  7. class CreatorController extends AbstractActionController{
  8.  
  9. public function __construct(){
  10. $this -> sessionService = new SessionServiceController();
  11. }
  12.  
  13. public function indexAction(){
  14. if($this-> sessionService ->checkSession()){
  15. echo 'Witam';
  16. }
  17. }
  18. }

SessionServiceController:
  1. namespace Creator\controller;
  2. use Zend\Mvc\Controller\AbstractActionController;
  3. use Zend\Session\Container;
  4. use Creator\Controller\SessionServiceController;
  5.  
  6. class SessionServiceController extends AbstractActionController {
  7.  
  8. const CONTAINER_SESSION_ID = 'usr_id';
  9.  
  10. public function __construct(){
  11. $this -> session_id = new Container( self::CONTAINER_SESSION_ID);
  12. }
  13.  
  14. public function checkSession(){
  15. if (empty($this ->session_id->usr_id)){
  16. //$this->redirect()->toUrl("zf2.localhost/authUser/index");
  17. return $this->redirect()->toRoute('creator/default',
  18. array('controller'=>'authUser', 'action'=>'index'));
  19. }
  20.  
  21. if (!empty($this ->session_id->usr_id)){
  22. return true;
  23. }
  24. }
  25.  
  26. }


Co chcę osiągnąć:
Chcę by po spełnieniu warunku w funkcji checkSession przekierowało mnie do zf2.localhost/authUser/index
całość działa gdy bezpośrednio z CreatorController wykonuję toRoute, jednak w sytuacji kilku plików, nie ma sensu powtarzać kilkukrotnie tej samej funkcji, stąd chcę ją mieć w osobnym pliku i tylko się do niej odwoływać (tak jak wyżej).

Dlatego proszę o pomoc w wytłumaczeniu co robię źle,
że wyświetla mi błąd: Url plugin requires that controller event compose a router; none found

Jeżeli jest lepszy sposób na poradzenie sobie z tym to także proszę o nakierowanie.

Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:09