Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] tranzakcje w frontControllerze
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam,

Piszę aplikację opierającą się o PHP i bibliotekę Extjs, ale to chyba na razie nic nie zmienia

Chcę skonfigurować Zenda tak, żeby przy każdym requeście rozpoczynał i kończył tranzakcję,

W pliku Bootstrap.php mam taką metodę :

  1. public function _initDispatchFrontController()
  2. {
  3. try{
  4. $db = Zend_Db_Table_Abstract::getDefaultAdapter();
  5. $db->beginTransaction();
  6.  
  7. $frontController = Zend_Controller_Front::getInstance();
  8. $frontController->dispatch()->sendResponse();
  9.  
  10. $db->commit();
  11.  
  12. }catch (Exception $e) {
  13. if (isset($db))
  14. $db->rollBack();
  15.  
  16. $response->success = false;
  17. $test = var_export($e->getMessage(), true);
  18. $response->message = $test;
  19. echo Zend_Json::encode($response);
  20. }
  21. }


No ale niestety, na bazie nic sie nie zapisuje i nie dostaję też żadnego exceptiona, w error-log dla php tez nic nie dostaję

Dziwne, bo jak robie selecty z bazy to wszystko działa, ale jak robie inserty to juz nie,

Gdy linijkę $db->commit() umieszczę przed $frontController->dispatch()->sendResponse(); wtedy z koleii działają inserty, zaś selecty zwracają błąd że nie ma aktywnej trakzakcji....

Jakieś pomysły ?

Ten post edytował Wolfie 28.11.2010, 18:09:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
luki100011
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

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


dodaj w try
  1. echo '<h1>kod działa</h1>';


może wcale się nie odpala to tobie ?


--------------------
Go to the top of the page
+Quote Post
Wolfie
post
Post #3





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Tak, przechodzi za każdym razem przy requeście

Sprawdziłem też dla pewności i normalnie echuje się , także to nie w tym problem....
Go to the top of the page
+Quote Post
zend
post
Post #4





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Transakcje powinny być w modelach, bo inaczej wyskakują takie "kwiatki". Pokaż jakie błędy zwraca aplikacja, oraz kod który działa i kod który nie działa - najlepiej w skróconej formie, a nie całe pliki. Ten kawałek który podałeś (zakładając że korzystasz z Zend_Application) jest fatalny, blokuje on możliwość wykonania kolejnych zasobów, utrudnia to późniejsze debugowanie aplikacji, takie fragmenty w ostateczności powinny się znaleźć w którymś z pluginów (mówię o transakcjach), albo najlepiej w modelach
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 21:58