![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Witam tak jak kiedys napisalem chce sie nauczyc OOP i robie sa prosta ksiege
OTO KOD:
NIe chce zebys ktos z was analizowal kod linijka po linicje po kod dziala lecz tak patrzac na oko czy kod jest zgdony z OOP czyli czy nie jest to tak jak wy to nazywacie pseudo OOP jesli tak to bylbym wdzeczny jak ktos by pokazal jak by to mialo wygladac w czystym OOP nie zeby mi pisal na nowo kod ale zeby pokazal np jak powinna wygldac funkcja add_reply() albo ktora z nich Oprocz tego mam jeszcze kilka pytan bylbym wdzieczny jak by ktos na nie odpowiedzial nie musi odpowiadac na wszystkie 1.DO czego sluzy klasa interface??BO nie zrozumialem 2.Do czego sluzy abstract?? 3.Do czego sluzy static?? I potem mam jeszcze jedno pytanie czytalem kurs na temat OOP Czyli w OOP do obiektow mozna sie odwolywac za pomoca pol i metod jednak gdy zmienne klasowe sa publiczne gdy sa typu private albo protected to tylko za pomoca metod dobrze mowie?? Jednak chcialbym sie zapytac czy ktos z was bedzie tak mily i by mi pokazal roznice pomiedzy odwolywaniem sie do obiektow za pomoca pol i metod ![]() Ten post edytował marcio 8.03.2008, 20:00:57 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
po pierwsze nie umieszczaj kodu html w klasie i wedlug mnie jest to kod strukturalny zamkniety w klasy
Ten post edytował Piniek 8.03.2008, 20:04:05 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
P.S co sie stalo z bbcode'em pierwszy raz mi sie tak dzieje??
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ehh... global..
-------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
To moze ktos pokarze dlaczeg jest to tylko skladnia OOP a pisze strukturalnie bo sam nie wiem tez chce sie nauczyc ze nie rozumiem jeszcze jak pisac w OOP w 100%
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Obejrzyj kod jakiegoś frameworka, albo zobacz, jak wyglądają klasy wygenerowane przez Propel. Obecnie mogę jedeynie powiedzieć, że jeśli ten kod działa poprawnie, to ok, ale z oop nic, ale to zupełnie nic nie ma wspólnego. Proponuję dobrą książkę na początek, bo bez tego ani rusz. Opis tej klasy:
Klasa sprawdza, czy dane są poprawne i usuwa z nich potencjalnie niebezpieczny kod. Łączy się z bazą danych. Może wyświetlić formularz, albo dodać wpis do bazy danych, albo pokazać dodany wpis. Wysyła też cookie, jak już wpis został dokonany. Twoja klasa robi zatem tyle, ile przeciętny framework. Masę zbędnych rzeczy, które nijak nie są związane z meritum sprawy, czyli wpisem do księgi Poniżej klasa księgi gości wg. Propel (3 minuty pracy) http://rafb.net/p/6itcTx76.html
To wszystko. Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
o0..trudne to jest wiesz mysle ze odrazu nie napisze skryptu w OOP ale bylbym wdzieczny jakbys ty lub ktos inny mogl pokazac tak na szybko chodzi mi o szkic jak powinna wygladac moja klasa lub dana funckja nie mowimy o 100% OOP ale zeby przynajmniej zblizyc sie do jego idee bo ja jak narazie mam tam tylko skladnie OOP
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Tylko, że tego się nie pisze, tylko generuje. Samo się generuje - z czegoś takiego
Kod guest_book _attributes: { phpName: GuestBook } id: nick: type: VARCHAR size: 32 content: type: LONGVARCHAR email: type: VARCHAR size: 32 creation_date: type: TIMESTAMP ip: type: VARCHAR size: 16 Ideą jest natomiast ten fragment kodu, który Ci pokazałem, a który używa tej klasy. Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
No ok dzieki ale to mi w niczym nie pomaga bo klasa jest skomplikowana a sam wygenerowany kod tez mi w niczym nie pomoga przynajmniej ja nie widze jak moglby mi pomoc...
Chodzi mi to czy ktos z was moze powiedziec co musze zmienic i jak zeby ten kod przypominal OOP -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Nie da się tego kodu zmienić. należy go napisać zupełnie inaczej. Pokazałem Ci tą klasę, abyś zobaczył, że OOP to ładne, spójne interfejsy, a nie kod html w metodach. Pierwsza zasada - obiekt ma robić tylko to, na co wskazuje jego nazwa i krótki opis. Twoja klasa to jak samochod, który ma w standardzie obok kół i silnika, możliwość puszczania latawca i parzenie kawy. Potrzebne to do jeżdżenia?
Pozdrawiam i jeszcze raz polecam książkę. Czasami 50 zł trzeba zainwestować. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
@Cysiaczek na ksiazki sknera nie jestem mam w domu kolo 20 ksiazek na temat programowania i jedna do php "Tworzenie stron www vademceum profesjonalisty php+mysql" a teraz jestem za granica ogolnie teraz przejrze ten link co podales i dam tu to co wykombinuje
![]() Wszedzie w klasach widze funckje ktore zwracaja atrubut np pod moja klase takie cos
Zastanawiaja mnie natomiast 2 rzeczy do czego sie to przydaje i i czy jest zaleta uzywanie tego?? -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 30.04.2007 Skąd: WWA Ostrzeżenie: (0%) ![]() ![]() |
Wszedzie w klasach widze funckje ktore zwracaja atrubut np pod moja klase takie cos
Zastanawiaja mnie natomiast 2 rzeczy do czego sie to przydaje i i czy jest zaleta uzywanie tego?? Chodzi o to, żeby nie tworzyć jednej, wielkiej metody, która robi wszystko, ale kilka mniejszych które (jak w przykładzie) zwracają pewne wartości (lub np. zamieniają BBCode na HTML, usuwają niebezpieczne wyrażenia itp.) oraz taką która coś z tymi zwracanymi wartościami robi (dodaje do bazy, wyświetla itp.) A co do drugiego pytania - "czy się przydaje?". Oczywiście! Ponieważ gdy w przyszłości wystapi błąd, będziesz chciał zmienić działanie klasy/metody nie musisz grzebać w setkach linii kodu. Ten post edytował zlw 9.03.2008, 10:29:58 -------------------- Krzysztof Zalewski :: blog
---------------------------------------------------------------------------------------- ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
No ok @zlw wiec poczytalem troche kurs'ow i przykladowych kodow na tym forum i zrobilem cos takiego
Funckja get do zwracania wartosci set do ustawiana i teraz zapisuje sobie do bazy nowy wpis:
I teraz probowalem to wywolywac i robie tak
I tak patrze a przy wyswieltaniu i zapisywaniu do bazy dodaje () czyli jak wpisze jako nick marcio to sie nie wyswietli marcio a (marcio) dlaczego tak sie dzieje?? Cytat Chodzi o to, żeby nie tworzyć jednej, wielkiej metody, która robi wszystko, ale kilka mniejszych które (jak w przykładzie) zwracają pewne wartości (lub np. zamieniają BBCode na HTML, usuwają niebezpieczne wyrażenia itp.) oraz taką która coś z tymi zwracanymi wartościami robi (dodaje do bazy, wyświetla itp.) A co do drugiego pytania - "czy się przydaje?". Oczywiście! Ponieważ gdy w przyszłości wystapi błąd, będziesz chciał zmienić działanie klasy/metody nie musisz grzebać w setkach linii kodu. Zlw moglbys rozwinac twoja odpiwedz bo nie zabardzo zrozumialem np jaki przyklad albo cos? -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
![]()
Masz duże braki w znajomości API języka. Nie myśl, że się czepiam Ciebie ciągle i coś wypominam bez powodu. Powód mam - nie napiszesz nic obiektowo, jeśli nie będziesz rozumiał tego, co robisz. Teraz na wszelkie tłumaczenie zawiłości oop jest moim zdaniem za wcześnie. Obiektowość jest niezależna od języka. Tak samo się projektuje klasy i obiekty w Javie i Rubym, .NET i C++ itd. To, że masz 20 książek o programowaniu, to niewiele znaczy - Ja mam 5. Nie masz wśród nich książki o programowanie obiektowym. Tak zupełnie, ale naprawdę zupełnie poważne i życzliwie radzę Ci - teoria to podstawa - opanuj ją. ~zlw powiedział dokładnie to samo, co ja w poprzednich postach - małe klasy o ograniczonej funkcjonalności. Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Powiem tak ksiazki o OOP nie mam tzn mam ksiazki do C/C++ ale C++ nie znam JAVY czy tam C# tez nie ucze sie C gdzie obiektywnosc jest o wiele trudniejsza i sie jej nie ucze a w php proceduralnie sobie radze i chcialem sie nauczc OOP bo widze ze piszac cms'a mam duzo lini kodu moglbym to napisac na funckjach albi i tak ilosc kodu o duzo sie nie zmniejszy i chce sie nauczyc klas ale kompltnie ich nie rozumie tam jeszcze jej skladnie to troche rozumiem ale nie wiem jak pisac obiektowo dlatego chcialem jakis latwy przyklad etc..
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#16
|
|
![]() Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
dam ci link do artykułu http://kavuka.pl/blog/show/entry_11-Jestes_OOP
![]() ![]() mam nadzieje Cysiaczek ze sie nie obrazisz ze to ja dalem tego linka ![]() -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
eheheh. To samo próbuję wytłumaczyć tutaj, w temacie. Nie da rady pisać OOP bez teorii i żadne przykłady nie pomogą (zwlaszcza, że dałem już jeden, który jest niemal doskonały).
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Czy jestem chociaz na taki etapie??
Cytat Uważam (pewnie nie tylko Ja), że istnieje etap pośredni. Jest to programowanie strukturalne ujęte w klasy. kurde sam juz nie wiem za kazdym razem jak probuje napisac cos lub nauczyc sie czego zwiazanego z OOP to mi nie wychodzi ![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Masz, ale teraz to już naprawdę marsz do książek
Księga gości: Księga gości ma za zadanie zbierać wpisy od gości odwiedzających naszą stronę. Można je przeglądać i dodawać nowe. Zaznaczone słowa to kandydaci na obiekty 1. Księga gości (GuestBook - bo zawsze używamy angielskich nazw) 2. Wpis (GuestBookEntry) 3. Gość (użytkownik, którego tu pominiemy) (GusetBookUser) 4. Obiekt kolekcji wpisów (GuestBookEntryStack)
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Czyli ogolnie powinno sie tworzyc klasy dla kazdej operacji??Dzieki przeanalizuje skrypt i spruboje cos napisac
![]() P.S takie male pytanko tylko nie krzycz masz np takie cos
Etc czyli inne funckje ktorych w kodzie nie widze i czemu tak jest chyba ze nie dowidzialem tego w kodzie to sorki Ten post edytował marcio 9.03.2008, 16:53:48 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 13:18 |