Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> używanie klas spowalna skrypt ?, czy to prawda ??
mablo
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 11.04.2005
Skąd: Poznań

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


Tak jak w temacie.

Wyjaśnie tylko że słyszałem że używanie klas spowalnia skrypty, dlatego właśnie nie poleca się używanie klas na siłę. Czy to prawda questionmark.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Jesli chesz zrobic cos prostego jak petle ktora np sumuje liczby to nie ma sensu uzywac klas. Zeby stwierdzic czy i kiedy uzywac klas musisz niestety sie sam przekonac, poprostu musisz to poczuc. Z tym czasem wykonania to do konca nie jestem pewnien jak to jest, wiem ze byl jakis test w C++ co jest lepsze i OOP wygralo, ale nie pamietam jaki problem (algorytm) byl testowany.


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





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

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


Jak robisz aplikację typu hello world to nie używasz klas. Jak robisz mały stystem uploadu (czyli wybierz plik do zapisania i pokaż pliki) to używasz funkcji. Ale jak robisz większy serwis (logowanie/panel admina/itp) lub frameworka, cmsa, forum czy inny tego typu skrypt to używasz klas, bo inaczej możesz się nie wyrobić.


--------------------
Go to the top of the page
+Quote Post
hwao
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Cytat(mablo @ 2005-06-29 15:03:53)
Tak jak w temacie.

Wyjaśnie tylko że słyszałem że używanie klas spowalnia skrypty, dlatego właśnie nie poleca się używanie klas na siłę. Czy to prawda questionmark.gif

Wszytko praktycznie spowolnia ksrypt nawet np uzywanie " zamiast '.
Wiec jest to pojecie wzgledne niby zwalnia ale tak niewiele ... w konuc
  1. <?php
  2. echo 'hello';
  3. ?>

  1. <?php
  2. function hello() { return 'hello'; }
  3. echo hello();
  4. ?>

  1. <?php
  2. class string { // class for php4
  3.  $this->string = null;
  4.  function hello( $string ) {
  5. $this->string = $string;
  6.  }
  7.  function get() {
  8. return $this->string;
  9.  }
  10. }
  11.  
  12. $string = new String( 'hello' );
  13. echo $string->get();
  14. ?>


Wszytko dziala ale zgaduj co jest najwolniejsze:) a roznica jest hmm nie widoczna w sumie - za to przydatnosc kodu duuza (1 mozna uzyc tylko dla 1 przypadku 1 jest zdefiniowany na stale a klasa jest dla dowolnego stringu).
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #5





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

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


hwao, musisz jeszcze troche pocwiczyc: http://www.phppatterns.com/index.php/artic...leview/103/1/1/ tongue.gif

Co do tematu: trzeba dobrac odpowiednia armate do odpowieniej muchy smile.gif, po prostu niektorych systemow/skryptow nie zrobisz bez klas (OOP).


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
NuLL
post
Post #6





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


@dr_bonzo - dobre biggrin.gif

php jest językiem natywnie strukturalnym - pierwsze wersje php nie posiadały modelu obiektowego. Korzystanie z OOP prawie zawsze spowalnia skrypt.

Gdyby kod miał to samą długość zarówno po obiektowemu jak i w wersji strukturalnej - to wersja obiektowa będzie wolniejsza.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Nievinny
post
Post #7





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

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


@NuLL -> ale często nie ma i za to chwalą OOP. Niedawno kolega robił małą stronkę blokowo, więc trochę tego kodu było. Czas generowania ok. 0.3 sek, po dodanie OOP czas zmalał do 0.25 sek, a kody zmieniejszył objętość 2 razy.

Wniosek: W zależności od projektu stosuj odpowiednie techniki. Jak zrobisz źłe to tak jak byś wystawił pancernika przeciw pantofelkowi winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Imperior
post
Post #8





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

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


Skoro mówimy o prędkości to trzeba też mieć świadomość tego, że OOP chodzi dużo szybciej na PHP5 (Zend 2) niż na PHP4.

Wydaje mi się, że na PHP5 nie ma sensu nie używać OOP, nawet do małych stron.


--------------------
Com powiedział, powiedziałem.
Go to the top of the page
+Quote Post
donpablo
post
Post #9





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 28.02.2005

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


trzeba pamiętać że php nie jest językiem w pełni obiektowym i jeżeli znasz np. C++ to zapewne zauważyłeś że nie ma czegoś takiego jak funkcja wirtualna, niejawne wywołanie konstruktora klasy podstawowej itp. itd. Niemniej jednak programowanie strukturalne przechodzi do lamusa. Wkrótce php też otrzyma cechy polimorfizmu i wtedy łatwiej będzie strawić ten wielki krok do przodu mając już pewne pojecie o obiektowości. Wiem bo sam byłem w takiej sytuacji kiedy przechodziłem z C na C++. Więc radze od razu wejść na głębsze wody. A co do szybkości to póki co skrypty na klasach są nieco wolniejsze ale do czasu wielości form w php
Go to the top of the page
+Quote Post
hawk
post
Post #10





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


Cytat(donpablo @ 2005-06-30 10:58:08)
trzeba pamiętać że php nie jest językiem w pełni obiektowym i jeżeli znasz np. C++ to zapewne zauważyłeś że nie ma czegoś takiego jak funkcja wirtualna, niejawne wywołanie konstruktora klasy podstawowej itp. itd.

Kiepskie te przykłady biggrin.gif.
W php wszystkie funkcje są wirtualne, a niejawne wywołanie konstruktora klasy podstawowej wcale nie jest potrzebne w OOP - patrz Java.
Cytat
Wkrótce php też otrzyma cechy polimorfizmu i wtedy łatwiej będzie strawić ten wielki krok do przodu mając już pewne pojecie o obiektowości.

Nie sądzę. Najpierw musieliby wprowadzić ścisłą kontrolę typów, a tego przecież nie wprowadzą.
Go to the top of the page
+Quote Post
donpablo
post
Post #11





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 28.02.2005

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


Cytat
W php wszystkie funkcje są wirtualne

To akurat jest bzdura - mówiłem o polimorfizmie, a ten musi być bo inaczej język stanie w miejscu
Go to the top of the page
+Quote Post
NuLL
post
Post #12





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Gdzie czytałeś, że php otrzyma cechy polimorfizmu :?:

Wątpię podobnie jak @Hawk...

Ja gdzieś słyszałem o wielowątkowości ale jakoś jej ni widu ni słychu.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
hawk
post
Post #13





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


Cytat(donpablo @ 2005-06-30 16:52:08)
Cytat
W php wszystkie funkcje są wirtualne

To akurat jest bzdura - mówiłem o polimorfizmie, a ten musi być bo inaczej język stanie w miejscu

Akurat nie. Polecam lekturę definicji funkcji wirtualnych. Nawiasem mówiąc, pure virtual == abstract.

Co do polimorfizmu i stania w miejscu - bzdura. Każdy ma prawo do swoich poglądów, ale twórcy php akurat swoje wyrazili wystarczająco jasno.
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 - 09:21