Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> pytanie programowanie obiektowe i strukturalne
Qss
post
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

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


mam pytania odnoście tych 2 rodzajów programowania w PHP

programowanie obiektowe jeśli chodzi o serwisy ww gdzie znajdzie zastosowanie ?
większość CMSów jest pisane metodą strukturalną ?
w jakich przypadkach lepiej używać jednego lub drugiego ?
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




//większość CMSów jest pisane metodą strukturalną ?
to czy cms będzie pisany oop zależy od tego kto go pisze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
lepiej oop

przy mega małych stronkach można się ograniczyć do strukturalnego programowania, przy reszcie lepiej oop
Go to the top of the page
+Quote Post
230005
post
Post #3





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Cytat
programowanie obiektowe jeśli chodzi o serwisy ww gdzie znajdzie zastosowanie ?


Duże aplikacje tylko w OOP. Łatwiej można kod zrozumieć po wielu miesiącach od napisania, łatwiej go udokumentować, no i jest krótszy.

Cytat
w jakich przypadkach lepiej używać jednego lub drugiego ?


Jeśli piszesz coś bardzo małego, to tak jak Spawnm napisał możesz pisać proceduralnie. Odpada wtedy problem rozumienia kodu, bo jest go mało. Ale jeśli piszesz coś dużego - np. chciałbyś sobie stworzyć jakis odpowiednik wp.pl, to tylko obiektowo.

Ten post edytował 230005 1.05.2009, 16:11:54
Go to the top of the page
+Quote Post
Qss
post
Post #4





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

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


ale istniejące darmowe typu jommola php-fusion itd. chyba są strukturalne

nie wiem jak z komercyjnymi np. edito

etid// czyli pisząc CMS pokroju php-fusion dużo lepiej będzie użyć oop
trza się będzie podszkolić ;] do strukturalny w porównaniu z tymi całymi classami to pikus (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)

Ten post edytował Qss 1.05.2009, 16:15:34
Go to the top of the page
+Quote Post
devnul
post
Post #5





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


z całym szacunkiem, ale bzdury piszecie.
Cytat
Duże aplikacje tylko w OOP. Łatwiej można kod zrozumieć po wielu miesiącach od napisania, łatwiej go udokumentować, no i jest krótszy.
co jest krótsze? kod? no chyba kpisz. że niby na jakiej podstawie OOP Ci kod skraca? OOP to nie tylko czytelniejszy kod, czego koledzy widzę nie wiedzą. OOP to przede wszystkim cały wachlarz możliwości (który w wypadku php jest ciągle skromny ale wersja 6 a nawet 5.3 wnoszą już sporo ku lepszemu). OOP to przeciążanie, metody magiczne, konstruktory, destruktory, dziedziczenie, ograniczanie widoczności i wiele wiele więcej. polecam lekturę manuala. OOP pozwala na hermetyzację danych - do których obróbki używany jest tylko konkretny zestaw funkcji (metod), mamy wtedy gwarancję że jakiś zewnętrzny kod nam nic nie napsuje itp. co by jednak nie mówić to użycie oop powinno wynikać ze specyfiki konkretnego zadania które należy wykonać. Nie należy pchać go wszędzie na siłę. Kiedy najlepiej używać? nie powiem Ci, bo nie ma złotego środka, jeśli opanujesz oop a wcześniej programowanie strukturalne to sam będziesz potrafił wyczuć kiedy lepiej jest zastosować którą z tych metod.
Go to the top of the page
+Quote Post
devnul
post
Post #6





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


dlatego napisałem
Cytat
co by jednak nie mówić to użycie oop powinno wynikać ze specyfiki konkretnego zadania które należy wykonać. Nie należy pchać go wszędzie na siłę. Kiedy najlepiej używać? nie powiem Ci, bo nie ma złotego środka, jeśli opanujesz oop a wcześniej programowanie strukturalne to sam będziesz potrafił wyczuć kiedy lepiej jest zastosować którą z tych metod.
z czego chyba jasno wynika że użycie oop lub nie powinno być każdorazowo przemyślane. Nie zmienia to faktu że nawet serwis z jedną podstroną można zbudować przy użyciu oop.
Go to the top of the page
+Quote Post
okitoki
post
Post #7





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


OOP to inny sposób myślenia, programy napisane obiektowo, mają mniej błędów i łatwiej je potem ewentualnie poprawić, lecz niestety nie jest to proste, wymaga wiele lat praktyki. Bez względu na to co piszesz dobrze się nastawić na obiektowość, czy jest to mała funkcja i wielki projekt, obiektowość ma te zaletę nad strukturalnym programowaniem, że jak coś raz napiszesz dobrze to możesz to wciągać w inne projekty, strukturalne niestety nie zawsze się tak da, nie jednokrotnie, wciągnięcie fragmentu kodu powoduje pociągnięcie za sobą połowy projektu.
w programowaniu strukturalnym skupiasz się krok po kroku, jak się będzie projekt zachowywał, w OOP tworzysz klasy, które mają sciśle określone zadania, i tworząc taką klase, głównie temu poświęcasz cały czas.

Polecam OOP
Go to the top of the page
+Quote Post
devnul
post
Post #8





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


Cytat
wciągnięcie fragmentu kodu powoduje pociągnięcie za sobą połowy projektu.
w programowaniu strukturalnym skupiasz się krok po kroku, jak się będzie projekt zachowywał, w OOP tworzysz klasy, które mają sciśle określone zadania, i tworząc taką klase, głównie temu poświęcasz cały czas.
prawda, ale tylko po części, pamiętaj o tym że są też funkcje które tak samo dobrze napisane mogą zostać wyciągnięte i użyte gdzie indziej, analogicznie można skopać od góry do doły klasę jeśli jej kod będzie się odwoływał do innych klas z projektu - dzieje się dokładnie to samo - wyciągnięcie jej powoduje wyciągnięcie połowy projektu. nie ma sensu pchać oop do takich zastosowań jak "hello world" i podobnie banalne czynności - chyba że stoją za tym jakiej inne konkretne pobudki.
Go to the top of the page
+Quote Post
WebCM
post
Post #9





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Obie techniki programowania mają swoje zastosowania. Można je ze sobą łączyć. Skrypty od podstaw szybciej pisze się strukturalnie, chociaż stworzenie klas np. do obsługi szablonów ułatwia wiele zadań.

Strukturalne: większa wydajność, mniejszy rozmiar plików, prostota, ale niektóre fragmenty kodu trzeba powtarzać
Obiektowe: łatwiej przenieść fragmenty kodu, funkcje magiczne, więcej możliwości, protekcja metod i zmiennych

Jeżeli mówimy o przenośności kodu OOP, nie można odwoływać się do zmiennych globalnych ani funkcji spoza klasy, których w innych projektach może nie być lub mogą nazywać się inaczej. Eliminuje się problem "global".

Aby modyfikować inny - często rozbudowany - projekt w OOP, trzeba najpierw go dobrze poznać.

Ten post edytował WebCM 1.05.2009, 22:57:10
Go to the top of the page
+Quote Post
devnul
post
Post #10





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


Cytat
mniejszy rozmiar plików (..) ale niektóre fragmenty kodu trzeba powtarzać
to się raczej wyklucza zresztą od tego są funkcje żeby się nie powtarzać

Cytat
większa wydajność
też bzdura - w nowych wersjach php które starają się być jak najbardziej obiektowe postawiono duży nacisk na wydajność obiektów i wszystkiego co z nimi związane. Wyniki działania kodu strukturalnego i obiektowego w php są na tyle porównywalne że nie może być mowy o większej wydajności jednego czy drugiego w wypadku gdy kod jest napisany dobrze
Go to the top of the page
+Quote Post
Qss
post
Post #11





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

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


jednak przy projektowaniu małego CMS'a zostanę przy strukturalnym większość rzeczy powtarzających się pisze w funkcjach więc łatwo jest je później wyciągnąć. teraz myślę że oop ma chyba największe zastosowanie w grach przegladarkowych gdzie np. tworzymy pole bitwy czy losowe warunki pogodowe ;]
Go to the top of the page
+Quote Post
ayeo
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Jeśli się zastanawiasz to znaczy, że nie umiesz pisać obiektowo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nie ma nad czym gdybać. Tylko OOP, oczywiście pomijam tu jakieś "statyczne" wizytówki itd. Napisałem ostatnio artykuł na konkurs gdzie wyjaśniam (staram się wyjaśnić) jakie są korzyści z OOP. Na wortalu znajdziesz zresztą masę innych artykułów zgłębiających temat. Ja jednak (bo jestem bardzo nieskromny) podam Ci linka do swojego artykułu. Oto i on

Pozdrawiam!
Go to the top of the page
+Quote Post
WebCM
post
Post #13





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


I tak front kontroler nie może być w pełni obiektowy. Można nawet Hello World! napisać obiektowo, używając N klas i tworząc dla każdej M obiektów. Kod: http://pastebin.pl/7578 - prawda, że jest pro? Tylko po co, jeśli można napisać:
  1. <?php
  2. echo 'Hello World!';
  3. ?>
Oczywiście większe lub zaawansowane projekty lepiej napisać obiektowo, szczególnie frameworki, na których tworzy się serwisy internetowe. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nie przesadzajmy jednak z OOP w każdym skrypcie.

Jest jeszcze jedna zaleta programowania strukturalnego - jeżeli w kilku miejscach odczytujemy listę artykułów, fragment kodu można dostosować do potrzeb. Zwolennicy OOP zaraz napiszą o dziedziczeniu. W wortalu PHP.PL kiedyś trafiłem na artykuł napisany przez Zend. Zarówno zwolennicy S i OOP zyskali uznanie.

Używając OOP bez wątpienia łatwiej tworzy się programy - szczególnie okienkowe, a także skrypty JavaScript.

Cytat
Cztery parametry!? I ja mam pamiętać jakie i w jakiej kolejności?
Kod
funkcja( array('param' => 'val', 'param2' => 'val2') );
Zamiast pisać kilka razy $query->bindValue() można wrzucić tablicę z parametrami: $query->execute($tablica). Kiedy to się przydaje? Na przykład wtedy, gdy po wysłaniu formularza wystąpią błędy - wtedy bez problemu wyświetlimy formularz z wysłanymi danymi, bo wcześniej przygotujemy sobie taką tablicę z nazwami pól i wartościami z POST - oczywiście zabezpieczonymi przed HTML, nieprawidłowymi wartościami, itd.

Ten post edytował WebCM 2.05.2009, 09:51:18
Go to the top of the page
+Quote Post
mike
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(WebCM @ 2.05.2009, 10:24:31 ) *
I tak front kontroler nie może być w pełni obiektowy.[/php]
Wybacz ale hahahahahahahaha
Wyjrzyj poza świat PeHaPe: FrontController

Cytat(WebCM @ 2.05.2009, 10:24:31 ) *
Jest jeszcze jedna zaleta programowania strukturalnego - jeżeli w kilku miejscach odczytujemy listę artykułów, fragment kodu można dostosować do potrzeb. Zwolennicy OOP zaraz napiszą o dziedziczeniu.
I będą mieli rację. Co masz na myśli, że pisząc strukturalnie można dopasować kod do potrzeb? To pisząc zgodnie z OOP już nie można?
Oczywiście, że można. I to prościej i elastyczniej.

Ten post edytował mike 2.05.2009, 09:43:56
Go to the top of the page
+Quote Post
Qss
post
Post #15





Grupa: Zarejestrowani
Postów: 141
Pomógł: 7
Dołączył: 22.02.2009

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


ayeo artykuł się na pewno przyda ale narazie zostanę przy zwykłym programowani ucząc się opp
z drugiej strony uczenie się oop PHP jest dobre bo później szybciej można przejść do JS, AJAX, AS3 bo już się zna jego strukture

Ten post edytował Qss 2.05.2009, 11:36:55
Go to the top of the page
+Quote Post
devnul
post
Post #16





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


Cytat
I tak front kontroler nie może być w pełni obiektowy
można by go też napisać w assemblerze - ale pytanie "po co?" skoro można łatwiej i przyjemniej. Różne metody programowania nie powstały po to żeby utrudniać życie stawiając nas każdorazowo przed trudnym wyborem "czego użyć" tylko po to żeby dać odpowiednio szeroki wachlarz możliwości z którego będziemy mogli wybrać rozwiązanie optymalne w danej sytuacji. Na tym między innymi polega programowanie - na umiejętności dobrania odpowiedniej metody do zadanego problemu, a nie tylko na klepaniu pętli i warunków w jeden określony schematyczny sposób, całkowicie bezmyślnie tworząc nieefektywny i ciężki w późniejszym rozwijaniu kod.
Go to the top of the page
+Quote Post
Crozin
post
Post #17





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
z drugiej strony uczenie się oop PHP jest dobre bo później szybciej można przejść do JS, AJAX, AS3 bo już się zna jego strukture
Nauczenie się dowolnego języka prog. ułatwia poznanie kolejnego.
Nauczenie się dowolnego algorytmu umożliwia wykonanie go w dowolnym języku
Nauczenie się dowolnej "idei" pozwala na stosowanie jej niezależnie od języka

btw: AJAX to JS - zapamiętajcie to w końcu...
Go to the top of the page
+Quote Post
kajzur
post
Post #18





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

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


Ogólnie to jest tak, że programowanie strukturalne (proceduralne) jest nieco szybsze niż OOP (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dlatego np PhpMyAdmin jest napisany strukturalnie (tzn gdzies tak czytałem, nie sprawdzałem). Ja np. jestem za łączeniem tego, w sumie to może troszkę się kłócić z ogólnymi zasadami OOP, ale wychodzi jak narazie fajnie, zobaczymy jak to będzie w PHP 6 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
pyro
post
Post #19





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(kajzur @ 2.05.2009, 15:14:23 ) *
Ogólnie to jest tak, że programowanie strukturalne (proceduralne) jest nieco szybsze niż OOP (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dlatego np PhpMyAdmin jest napisany strukturalnie (tzn gdzies tak czytałem, nie sprawdzałem)wychodzi jak narazie fajnie, zobaczymy jak to będzie w PHP 6 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


To wytłumacz mi co robi w moim htdocs ściągnięty już dawno temu PHPMyAdmin napisany w pełni obiektowo?
Go to the top of the page
+Quote Post
devnul
post
Post #20





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


Cytat
To wytłumacz mi co robi w moim htdocs ściągnięty już dawno temu PHPMyAdmin napisany w pełni obiektowo?
pewnie pisali go jacyś amatorzy nie mający pojęcia o temacie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 20.12.2025 - 18:54