Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wywołanie obiektu tylko raz
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,

Mam taki kawalek kodu :

  1. function trainFilter($spam) {
  2. $table = $this->tokenizeFile();
  3. foreach($table as $value) {
  4. $totalsrow = new TotalsRow(new MysqlDatabase('localhost','root', 'wmateusz', 'spam'));
  5. $totalsrow->checkTotals($spam);
  6. $tokenrow = new TokenRow(new MysqlDatabase('localhost','root', 'wmateusz', 'spam'));
  7. $token = $tokenrow->setToken($value);
  8. $tokenrow->checkToken($token,$spam);
  9. //$row->insert();
  10. }
  11. }
  12.  
  13. function getTokensValues() {
  14. $table = $this->tokenizeFile();
  15. foreach($table as $value) {
  16. $tab = new TokenTable(new MysqlDatabase('localhost','root', 'wmateusz', 'spam'));
  17. $gettoken[] = $tab->find($value);
  18. }
  19. return $gettoken;
  20. }
  21.  
  22. function getTotalsValues() {
  23. $totals = new TotalsTable(new MysqlDatabase('localhost','root', 'wmateusz', 'spam'));
  24. $gettotals = $totals->findAll();
  25. return $gettotals;
  26. }


Jak widac mamy tutaj 3 funkcje, ale co od razu rzuca sie zapewne w oczy to to , ze za kazdym razem gdy uruchamiana jest jakas funkcja od nowa nastepuje połączenie z bazą danych. np:

  1. $totals = new TotalsTable(new MysqlDatabase('localhost','root', 'wmateusz', 'spam'));


Gdzie new MysqlDatabase to klasa w ktorej konstruktorze nastepuje połączenie z bazą danych, ponadto w powyzszyf funkcjach znajdują sie petle foreach, wiec z kazda iteracja petli jest inicjowane nowe polaczenie z baza.


Prosilbym o wskazówki jak zoptymalizowac kod, zeby tyle razy nie wywolywac połączenia z baza.......

(tak na marginesie, nie wiem czy tego nie powinienem pisac w innym dziale....bo tak z przyzwyczajenia wszystko wrzucam do przdszkola..)

Ten post edytował Wolfie 23.10.2009, 17:22:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
_olo_1984
post
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

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


może przechowywać we właściwości klasy obiekt połaczenia z bazą danych, tworzony w konstruktorze ?
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: 3.10.2025 - 00:40