Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] optymilizacja a klasy i funkcje
CconradD
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.04.2007

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


Mam takie czysto teoretyczne pytanie tongue.gif Tworze właśnie skrypt. I wpakowałem do klas około 95% kodu. A do nich funkcje (Np na różne części meni, dość rozbudowane, i każdy ma swoją funkcje; czy też do zapytań Mysql, osobne funkcje dla WHERE, LIMIT, czy ORDER; parsowanie strony). Wszystko dość przejrzyściej wygląda, wiele rzeczy pobieranych przez Mysql'a umieszczane jest w atrybutach i przetwarzane przez funkcje.
I teraz moje pytanie: czy to ma jakiś wpływ na spowalnianie skryptu, czy też na jego funkcjonalność. Chodzi mi o to jak to powinno wyglądać 'profesjonalnie'? Trochę ogólne pytanie, ale jestem ciekaw biggrin.gif
Dodam że używam PHP 4.4, a nie 5 (bo wiem że 5 jest bardziej obiektowa)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
likedat
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 1.03.2008

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


Najwiekszym problemem wydajnosciowym w PHP sa chyba rozlazle kwerendy MySQL i iterowanie po tysiacach wynikow.
Programowanie obiektowe to dobre programowanie i PHP w wersji 5 radzi sobie z nim doskonale.
Tworz wiec klasy i obiekty z czystym sumieniem winksmiley.jpg
Go to the top of the page
+Quote Post
pest
post
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 15
Dołączył: 10.12.2007
Skąd: Lublin

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


Pokaż jak wygląda taki twój przykładowy plik z klasą, to się dowiesz, co można zrobić, żeby wyglądało profesjonalnie.

Wpływ na spowolnienie skryptu - oszczędności czasu szuka się gdzie indziej (pętle, zapytania do bazy, wyrażenia regularne itp.)

Btw. to czy kod jest przejrzysty możesz sprawdzić na 2 sposoby:
1. Dać innemu programiście;
2. Po pół roku zajrzeć do kodu i spróbować zmienić konkretną rzecz.
Go to the top of the page
+Quote Post
CconradD
post
Post #4





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 7.04.2007

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


Dzięki za odpowiedzi. No to umieszczę klasę i do niej kilka funkcji:
  1. <?php
  2. class moviesclass
  3. {
  4. var $lang;
  5. var $link = array();
  6. var $TableGet = array();
  7. var $TableQuery = array();
  8. var $TablePrint = array();
  9. var $TableImport = array();
  10.  
  11. function QueryWhere()
  12. {
  13. $Table = array( 'CATEGORY' , 'SEARCH' );
  14.  
  15. foreach ( $Table as $Where )
  16. {
  17. if ($this->TableGet[$Where] != null)
  18. {
  19. foreach ($this->TableGet[$Where] as $Category => $Value )
  20. $QueryWhere = $QueryWhere . "AND $Category LIKE '%" . $Value . "%' ";
  21. }
  22. }
  23. if ($QueryWhere != null)
  24. $this->TableQuery['Where'] = ' WHERE' . substr( $QueryWhere , 3 );
  25. }
  26.  
  27. function MenuSort ()
  28. {
  29. $SortCategory = $this->TableImport['CategorySort'];
  30. $N = 0;
  31. foreach ($SortCategory as $one_sort )
  32. {
  33. $this->FullLink( "sort=$one_sort ASC&" , $asc , 'sort' );
  34. $this->FullLink( "sort=$one_sort DESC&" , $dsc , 'sort' );
  35. $this->TablePrint['SORT'][$N]['LINKDSC'] = $dsc;
  36. $this->TablePrint['SORT'][$N]['LINKASC'] = $asc;
  37. $this->TablePrint['SORT'][$N]['NAME'] = $this->lang[$one_sort];
  38. $N = $N + 1;
  39. }
  40. }
  41.  
  42. function FullLink( $hr , &$nm )
  43. {
  44. $newlink = $this->link;
  45. for ($i=2;$i<=func_num_args()-1;$i++) 
  46. unset($newlink[func_get_arg($i)]);
  47. while ( list( $x , $link1 ) = each( $newlink ) )
  48. $href = $href . $link1;
  49. $href = preg_replace( array('@&$@' , '@?$@') , '' , ("movies.php?$href$hr") );
  50. $nm = $href;
  51. }
  52. }
  53. ?>


Jakie błędu w tym przypadku mogą być?

Ten post edytował CconradD 23.06.2008, 20:04:51
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: 21.08.2025 - 23:05