Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dynamiczne tworzenie funkcji
qba10
post
Post #1





Grupa: Zarejestrowani
Postów: 264
Pomógł: 20
Dołączył: 19.08.2007
Skąd: Bryńsk k. Lidzbarka Welskiego (nie mylić z Warmińskim)

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


Wkleiłem do swego skryptu taki kod php:
  1. <?php
  2. public static function fetch_array($polecenie)
  3.  {
  4.  
  5.  $zapytanie = self::$rodzaj.'_fetch_array('.$polecenie.')' ;
  6.  
  7.  return $zapytanie ;
  8. }
  9. ?>


Strona strasznie długo się ładowała a jak się załadowała wyskoczyło cos takiego:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\AppServ\www\test\system\jadro\e-door\functions\polaczenie.php on line 156

W lini 156 znajdowała się własnie ta funkcja. Co jest takiego strsznego w tej funkcji że obciązyło tak mocno serwer?

Ten post edytował qba10 18.07.2008, 15:05:07
Go to the top of the page
+Quote Post
artega
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

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


Czy to cała funkcja fetch_array? Podaj większą część kodu klasy i warunki jej wykonania, inaczej nikt nie będzie w stanie Ci pomóc (chyba, że jest jasnowidzem).
Cytat
Co jest takiego strsznego w tej funkcji że obciązyło tak mocno serwer?

Prawdopodobnie to następstwo rezultatu funkcji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
qba10
post
Post #3





Grupa: Zarejestrowani
Postów: 264
Pomógł: 20
Dołączył: 19.08.2007
Skąd: Bryńsk k. Lidzbarka Welskiego (nie mylić z Warmińskim)

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


Ten sposób, który pokazałem w poście wyżej jest chyba jednak nie prawidłowy.
I tu moje pytanie. Jak dynamicznie zmieniać nazwę funkcji. Ta funkcja w poście u góry miała służyć do tworzenia funkcji mysql_fetch_array(), lub pg_fetch_array() wzależności od wartości pola $rodzaj. Niestety teraz nie mam żadnego pomysłu jak to zrobić zachowując zasdę regułu DRY . Czy wogólę można coś takiego zrobić tak jak naprzykład dynamiczne zmienne?
Go to the top of the page
+Quote Post
grzegorzr
post
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 3
Dołączył: 1.06.2007
Skąd: self::display()

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


twoja funkcja zwraca stringa!
aby wywolac funkcje napisz:
  1. <?php
  2. $zapytanie = self::$rodzaj.'_fetch_array' ;
  3.  
  4.  return $zapytanie($polecenie);
  5. ?>
Go to the top of the page
+Quote Post

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: 15.09.2025 - 00:21