![]() |
![]() |
![]() ![]()
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 ![]() |
|
|
![]() |
![]()
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.
-------------------- |
|
|
![]()
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ć.
-------------------- |
|
|
![]()
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 ![]() Wszytko praktycznie spowolnia ksrypt nawet np uzywanie " zamiast '. Wiec jest to pojecie wzgledne niby zwalnia ale tak niewiele ... w konuc
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). |
|
|
![]()
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/
![]() Co do tematu: trzeba dobrac odpowiednia armate do odpowieniej muchy ![]() -------------------- Nie lubię jednorożców.
|
|
|
![]()
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
![]() 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 :)
|
|
|
![]()
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 ![]() -------------------- |
|
|
![]()
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.
|
|
|
![]()
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
|
|
|
![]()
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 ![]() 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ą. |
|
|
![]()
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 |
|
|
![]()
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 :)
|
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:21 |