Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Obiekty, klasy...
Forum PHP.pl > Forum > Przedszkole
Jigsaw
Witam,

Programowiem w php zajmuję się już parę lat i piszę skomplikowane skrypty...

Tylko jednego nie jestem w stanie pojąć: programowanie obiektowego w php...
Przerażają mnie obiekty, klasy i w sumie wydaje mi się to wszystko strasznie abstrakcyjne. Kiedyś poczytałem conieco o programowaniu obiektowym, ale nie potrafię się wczuć w jego praktyczne zastosowanie.

Jak się nauczyć programowania obiektowego, jak to zrozumieć i czy właściwie jest to potrzebne (i w jakim stopniu) programiście php?questionmark.gif

Pozdrawiam gorąco.
ActivePlayer
tez mialem taki problem... moze poprostu zacznij tak pisac. pisz koślawy kod, który z czasem zacznie nabierac kształtów, i będzie mial rece i nogi. napewno samym mowieniem i czytaniem o oop daleko nie zajdziesz. poza tym, na forum jest duzo tematów o podobnej treści, poczytaj, poszukaj.
jigsaw
Poszukałem, poczytałem przez te pare godzin różne artykuły i fora i...
OOP to chyba jednak nie dla mnie...
Jednym minusem kursów i porad, które znalazłem jest to, że podawane przykłady są od samego początku rozbudowane i skomplikowane dla "noworodka OOP", jakim jest niejeden z nas. Poza tym opisywane są różne klasy i metody, ale jak je zastosować "tu i teraz" w konkretnym kodzie konkretnej strony php/HTML to już zostało pominięte.
Faktycznie ciężko jest się przestawić z programowania strukturalnego na OOP. W sumie może i OOP zajmuje mniej kodu i jest bardziej czytelne, ale wymyślenie i obmyślenie kodu w OOP zajęłoby mi więcej chyba czasu niż naklepanie zwykłego kodu. Może uda mi się w końcu to pojąć, a jedyne czego mi trzeba to kroczek po kroczku, mini-przykładzik za mini-przykładzikiem. Na pewno gdy uda mi się tego nauczyć napiszę kurs, który zrozumie dziecko z gimnazjum. Ehhhh myślenie abstrakcyjne siadło mi przez te 24 lata mojego życia. Może kiedyś coś wydoję z tego, co siedzi w mojej czaszce... Mówiąc coś mam na myśli OOP... Na pewno liczę na Waszą pomoc w razie gdybym miał pytania odnośnie mojego OOP, które zapewne - jak już zacznę w tym grzebać - będzie tak koślawe, jak obecna sytuacja polityczna w kraju :-) Powiem tylko tyle, że na forum konkurencyjnego serwisu poświęconego php admin (który praktycznie dopiero co dostał dowód osobisty) potrafi "gnoić" i wymądrzać się kiedy ludzie przychodzą na forum z problemem - i tym błahym i tym większym. Na szczęście TU jest kultura, fachowa pomoc i zrozumienie. Sam jestem Adminem jednego z muzycznych serwisów i miło jest dostawać maile z podziękowaniami za szybką odpowiedź, pomoc bądź miłe podejście do usera.

Gorąco pozdrawiam i liczę na dalsze wskazówki i podtrzymanie na duchu w związku z OOP ;-)
Kas
Moim zdaniem podstawy OOP są dość dobrze opisane na Webcity.

Programowanie obiektowe w php 5 cz. 1
Programowanie obiektowe w php 5 cz. 2
Programowanie obiektowe w php 5 cz. 3
halfik
im ktos wiecej pisal strukturalnie tym wiecej czasu mu trzeba gdy pierwszy raz styka sie z OOP. a przestawic nie tyle ze warto, co nawet trzeba.

OOP to przyszlosc we wszystkich jp ktore beda mialy cos do powiedzenia w nastepnych latach. juz nawet kolesie z zenda sobie zdali z tego sprawe i cos kombinuja. poki co narobili syfu w php5, ale moze zrobia ladna 6.

i nie pytaj czy warto. oczywiscie ze warto w OOP. dopiero wowczas zaczyna sie prawdziwa frajda projektowania.
Jigsaw
Cytat
i nie pytaj czy warto. oczywiscie ze warto w OOP. dopiero wowczas zaczyna sie prawdziwa frajda projektowania.


Dzięki "halfik"... Jednak jak znajdę trochę wolnego czasu (a zapowiada mi się ok. 2 tygodni leniuchowania), to coś spróbuję popisać w OOP.

Nie myśleliście (Wy, którzy umiecie pisać w OOP) o napisaniu jakiegoś kursu OOP, wyjaśniającego jak dziecku krok po kroczku jak się programuje i stosuje OOP??

Pozdrawiam gorąco.
aleksander
takie kursy sa i na php.pl i na goglach.
PrzeoR
Cytat(Kas @ 2006-01-31 08:07:02)

Witam,


Przykład z cz. 1 wyświetla mi błąd
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in .../obiektowo/przyklad1.php on line 3
  1. <?php
  2. class osoba{
  3. public $imie;
  4. public $nazwisko;
  5.  
  6. }
  7.  
  8. $osoby[0] = new osoba;
  9. $osoby[0] -> imie = 'Tomasz';
  10. $osoby[0] -> nazwisko = 'Jędrzejewski';
  11. $osoby[1] = new osoba;
  12. $osoby[1] -> imie = 'Jan';
  13. $osoby[1] -> nazwisko = 'Nowak';
  14. $osoby[2] = new osoba;
  15. $osoby[2] -> imie = 'Piotr';
  16. $osoby[2] -> nazwisko = 'Kowalski';
  17.  
  18. foreach($osoby as $id => $osoba){
  19. echo ($id + 1).'. '.$osoba -> imie.' '.$osoba -> nazwisko.'<br/>';
  20. }
  21. ?>


Czy to oznacza że nie mam szans nauczyc sie programowac obiektowo na php 4.xx?

Bo nie mam php 5.x na serwerze który wynajmuje. Co najlepiej począć?

Pozdrawiam i thx
dr_bonzo
1. OOP w ph4 jest cienkie, lepiej uczyc sie na 5ce
2.
Cytat
Bo nie mam php 5.x na serwerze który wynajmuje. Co najlepiej począć?
Zainstaluj sobie na swoim kompie php5, po co ci do tego od razu zewn. serwer
Plikownik
mam pytanie - po co programowanie obiektowe php5 ? Po co mi się to teraz przyda , skoro większość serwerów posiada php4 i nie spieszy im się przejść na php5 ? Czy klasy napisane w php5 będą funkcjonować poprawnie na starszych wersjach php ?
crash
Cytat(Plikownik)
Po co mi się to teraz przyda , skoro większość serwerów posiada php4 i nie spieszy im się przejść na php5 ?

To jakieś słabe te serwery znasz...

Cytat(Plikownik)
Czy klasy napisane w php5 będą funkcjonować poprawnie na starszych wersjach php ?

Klasy posiadające nowości z PHP5 nie będą działać w starszych wersjach.
Bastion
Ja dlugo opieralem sie przed obiektówką, ale okazało się zbawieniem dla moich szalonych pomysłów. Nawet mile jest to opisane w książce O'REILY : PHP5 nowe możliwości wydawnictwa Hellion ( http://helion.pl/ksiazki/php5mi.htm ). Dopiero raczkuję w tym temacie ale warto. Dlatego dołącze sie do zapytania, ale w obrębie książek.
bigZbig
Cytat(jigsaw @ 2006-01-31 01:34:47)
Powiem tylko tyle, że na forum konkurencyjnego serwisu poświęconego php admin (który praktycznie dopiero co dostał dowód osobisty) potrafi "gnoić" i wymądrzać się kiedy ludzie przychodzą na forum z problemem - i tym błahym i tym większym. Na szczęście TU jest kultura, fachowa pomoc i zrozumienie.

Dlatego tez ja i zapewne wielu innych chetnie zaglada na toforum. Kultura i rzeczowa pomoc. Jedyne za co tu gonia to lenistwo i pisanie nie na temat, ale za to to nalezy administratorom i moderatorom tego forum tylko podziekowac.

Co do OOP. Jedyna metoda na zrozumienie idei projektowania obiektowego jest samemu zaczac cos w tym kierunku robic. Na poczatek czlowiek uczy sie teori - co to jest konstruktor, co oznacza this, self, static, czym sa metody, ale znac definicje to nie znaczy zrozumiec idee. Kiedys mi sie wydawalo, ze OOP to jestynie trudniejszy sposob zrobienia calkiem prostej rzeczy. Z czasem sie okazalo, ze obiekty daja funkcjonalnosc, ktorej nigdy nie uzyskasz przy pomocy struktury. Funkcjonalnosc ta jest tym lepiej dostrzegalna im bardziej zlozony jest projekt. Wierzcie mi klasy nie sa tylko opakowaniami dla funkcji.

Na poczatek namawiam do proby napisania czegos prostego. Prostego ale konkretnego i przydatnego. Im szybciej zaczniesz myslec w sposob obiektowy i wyzbedziesz sie strukturalnych nawykow (sam ich jeszcze pare mam i trudno mi je wytepic) tym lepiej.

Pomimo dostepnosci masy materialow dotyczacych oop w internecie namawiam do zakupu dobrej ksiazki i nie nalezy wstydzic sie pozycji dla poczatkujacych nawet jak sie programuje od lat. To ze sie jest guru w PHP4 nie znaczy ze sie rozumie idee obiektow w PHP5
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.