Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zadanie dla masterów - który plik wykonał funkcję...
mkozak
post 22.06.2006, 10:13:54
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 4
Dołączył: 21.03.2005

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


Jest taka akcja:

Mam funkcję, która jest wywoławana w kilku plikach (pliki są include-owane).
chciałbym przeprowadzić benchmark, który z plików odwołuje się do nej najczęściej i ile razy.

Najprościej rzecz ujmując - chcemy policzyć ilość zapytań do dazy danych z uwzględnieniem, które pliki wywołały ile zapytań.

Moje rozwiązanie wygląda tak:

index.php
  1. <?php
  2. include ('main.inc.php');
  3.  
  4. $sql_re1 = my_query("SELECT * FROM test", __FILE__);
  5.  
  6. include ('user_info.php');
  7.  
  8. print_r($_SESION['query']);
  9. ?>


user_info.php
  1. <?php
  2. $sql_re2 = my_query("SELECT * FROM user_profil", __FILE__);
  3.  
  4. $sql_re3 = my_query("SELECT * FROM user", __FILE__);
  5. ?>


main.inc.php
  1. <?
  2. function my_query($query, $jaki_plik){
  3. $_SESION['query'][$jaki_plik] ++;
  4. mysql_query($query);
  5. }
  6. ?>


Co daje w efekcie:
print_r($_SESION['query']);

Array(
[index.php] => 1

[user_info.php] => 2
)

Jedyna niedogodność tego rozwiązania to konieczność podania jako drugi parametr __FILE__ - zmienna przekazująca nazwę wykonywanego skryptu.

Czy ktoś ma jakiś pomysł, żeby funkcja my_query dostawała jako parametr tylko zapytanie SQL i wewnętrznie sama sprawdzała który plik ją wywołałquestionmark.gif


--------------------
==============================================
Bo ja jestem Wróbelek Htmlek
==============================================
Go to the top of the page
+Quote Post
dr_bonzo
post 22.06.2006, 10:39:16
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


http://pl.php.net/manual/en/function.debug-backtrace.php w funkcji my_query()


--------------------
Nie lubię jednorożców.
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 Wersja Lo-Fi Aktualny czas: 28.06.2025 - 22:43