Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Jednorazowe wywołanie kodu
nameuser
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.03.2011

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


Tak jak w temacie. Używam frameworka Zend'a i poznaję go już coraz bardziej. Zastanawiam się, czy jest możliwe jednorazowe wykonanie pewnego kodu. Spróbuję to jakoś przedstawić.
W pliku Bootstrap.php w katalogu scripts mam np. taki kod
  1. $acl = new Zend_Acl();
  2. $acl->addRole('guest')
  3. ->addRole('user');
  4. $acl->add(new Zend_Acl_Resource('index'))
  5. ->add(new Zend_Acl_Resource('logowanie'))
  6. ->add(new Zend_Acl_Resource('uzytkownicy'));
  7. $acl->allow('guest', 'index')
  8. ->allow('user', 'logowanie');
  9. Zend_Registry::set('acl', $acl);

Teraz po pierwszym wejściu na jakąś stronę np /public/logowanie ten kod wykona się jeden raz. Po przejściu na /public/rejestracja wykona się już po raz drugi.
Chodzi mi właśnie o to, żeby ten kod wykonywał się tylko raz np. po pierwszym wejściu na jakąś podstronę ->
Wchodzę na /public/logowanie (pierwsze wejście), kod się wykona -> potem wchodzę na /public/rejestracja (drugie wejście) i ten kod już się nie wykona. Czy to jest jakoś możliwe? Jeżeli tak, to w jaki sposób to można zrealizować (oprócz sprawdzania np. ifem)?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Alternatywnie możesz sprawdzać czy w rejestrze jest już ustawiona wartość klucza 'acl' i tylko w przypadku, jeśli nie jest, to wykonujesz przedstawiony przez Ciebie kod. Pamiętaj jednak, żeby przy wylogowaniu użytkownika usunąć tę wartość z rejestru. Mam na myśli coś takiego:
  1. if(!isset(Zend_Registry::get('acl') || is_null(Zend_Registry::get('acl')))
  2. {
  3. $acl = new Zend_Acl();
  4. $acl ->addRole('guest')
  5. ->addRole('user');
  6. $acl->add(new Zend_Acl_Resource('index'))
  7. ->add(new Zend_Acl_Resource('logowanie'))
  8. ->add(new Zend_Acl_Resource('uzytkownicy'));
  9. $acl->allow('guest', 'index')
  10. ->allow('user', 'logowanie');
  11.  
  12. Zend_Registry::set('acl', $acl);
  13. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 08:30