![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Postanowiłem się w końcu zacząć uczyć programowania obiektowego.
![]()
-------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
W jakim celu
1. klasa tworzHTML rozszerza mech_form 2. istnieje klasa tworzHTML pozatym: dla tak prostej funkcjonalnosci wystarcza funkcje, krocej sie pisze. Ten post edytował dr_bonzo 27.04.2008, 16:57:51 -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Kiedys jak tez sie chcialem uczyc OOP to tez napisalem cos takiego
Moze ci sie przyda -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
HEh @phpion te klasy sa o duzo wiecej rozbudowane i bardziej skomplikowane jak dla mnie ja wole cos mojego i latwego za pomoca tamtej klasy napisalem nawet ksiege gosci i dziala
![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem tego typu metody lepiej deklarować jako statyczne. Jeśli chciałbyś sobie podejrzeć inne rozwiązania to możesz zobaczyć te, które są wbudowane we framework Kohana: HTML Form Proste, a przy tym cholernie użyteczne i przydatne ![]() Może i proste, ale nie przydatne, nawet warstwa widoku nie jest wydzielona. Do tego to kod proceduralny zamknięty w obiekcie. Tak aby nie być gołosłownym, to mamy obiekt formularza, który ma pola, każde pole ma swój typ, nazwę, walidację... To było by obiektowe, a nie takie coś. EDIT literówka Ten post edytował Sedziwoj 27.04.2008, 22:47:40 -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
-------------------- 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
#8
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
@Sedziwoj masz rację ale:
- kolega zaczyna zgłębiać OOP, - średnio wyobrażam sobie wydzielenie warstwy widoku dla jednego inpucika ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Obiektowo chcecie? Proszę: http://www.plentyofcode.com/2008/04/7-days...symfony-11.html Na pewno przeczytam, ale nie teraz... @Sedziwoj masz rację ale: - kolega zaczyna zgłębiać OOP, Powiedz szczerze, czy brałeś to w ogóle pod uwagę, bo mi się wydaje że nie, więc nie pisz o tym innym, do tego to nie jest meritum sprawy. Do tego piszesz o OOP, a nie o klasach, więc OOP to nie jedna klasa, ale to chyba wiesz. Cytat - średnio wyobrażam sobie wydzielenie warstwy widoku dla jednego inpucika ![]() Ech, no i właśnie tak powstaje syf w aplikacjach, "po co widok, przecież to tylko jedno echo". Nie chce mi się tłumaczyć dlaczego to jest dobre rozwiązanie, bo to jakby tłumaczyć dlaczego używać wzorca MVC (tudzież MVP). -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
napisałem takie coś:
opłacalne? czy oprzeć na tablicy czy może jakoś inaczej? -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Ja tu z obiektowości nie widze nic poza słowem class
![]() Klasa ma ułatwić programowanie, przyszybszyć je, a w twoim wypadku tylko spowalnia. Licz ile literek to zamknij_kolumne() a ile to </td> ? Wywal wszystko co masz, co wiesz. Poczytaj jeszcze raz, pooglądaj przykłady w "Algorytmy, klasy funkcję" i napisz coś co się przyda, nic na siłę. -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Kod HTML generowany przez to nadaje się tylko do kosza - od formatowania jest CSS
![]() W dodatku trzeba wywoływać masę niepotrzebnych metod - wcale nie jest to wygodniejsze od ręcznego wklepania. Generalnie nie ma chyba jakiegoś sztywnego wzorca - wszystko powinno być stworzone tak, aby działało jak najlepiej pod konkretny projekt. Może to być coś takiego: Ale jak napisałem - powinno to być zrobione pod konkretne zadanie. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim - generowanie HTML za pomocą różnorodnych klas to jakaś pomyłka jest (przynajmniej dla mnie). Html się klepie ręcznie i tyle. Dla mnie to przerost formy nad treścią.
A kolega chce się nauczyć programowania obiektowego? Najlepiej uczyć się na jakiś przykładach. Poczytaj sobie kod frameworków - Symfony, Agavi, czy nawet ZF to powinno w pewnym momencie zaskoczyć własciwe rozumowanie ![]() -------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim - generowanie HTML za pomocą różnorodnych klas to jakaś pomyłka jest (przynajmniej dla mnie). Html się klepie ręcznie i tyle. Dla mnie to przerost formy nad treścią. W tych rzeczach co właściwie wyłącznie pojawiają się na forum, to tak, takie html w php... Ale jak zamyka się większe logiczne komponenty i mają one swój sposób wyświetlania to inna sprawa. Chociażby stronicowania, coś co generuje odpowiednie rzeczy, ładny obiektów kod, tylko co ma zrobić, nie jak, a potem jest szablon to prezentujący, wtedy grafik ma dostęp do niego może zmieniać, a obiektowość (czy w tym przypadku może jedna klasa) jest niewidzialna dla niego, a dla programisty nie ma html. Może to proste napisanie tego, ale po co się bawić w stronicowanie za każdym razem, gdy parametrów jest niewiele ile stron, która obecnie, ile ma wyświetlić numerków w przód i tył itp., najczęściej będą tylko dwa używane, więc mając taki komponent to chwila i ma się stronicowanie. To samo można osiągnąć w formularzach, ale to większa zabawa... (hm, jeszcze nie miałem czasu przeczytać tego co Cysiaczek dał linka :| ) -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 4.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Powiem tak - dla mnie programowanie obiektowe przejawia sie nie tylko w kawalku kodu, ktory nazywa się klasa - jest to makro na makro, a wiec jedna wielka klasa generuje jeden wielki obiekt, a w kodzie nam to zajmuje kilka linijek. Uzywanie klas do generowania pojedynczych znacznikow HTML jest przelozeniem macro na micro, czyli wielka klasa generuje maly kod, a to juz niedobrze, bo marnuja sie bajciki
![]() Bardzo dobrym przykladem dobrze napisanego obiektu-klasy jest klasa FCKeditora, ktorego kod tego typu:
generuje nam taki ladny edytor jak przedstawiony w odsylaczu: http://www.fckeditor.net/demo/language |
|
|
![]()
Post
#16
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Po 1.
http://forum.php.pl/index.php?s=&showt...st&p=466253 Kolejne nie-OOP, kopiujesz metody jak popadnie. Nie lepiej miec metody, które wyzwalają inną metodę (wpisują typ i zakres danych) np protected $this->_pole_input( paramy ) i zastępują tylko type. Po 2. Po grzyb pisać generator formularzy ![]() Po 3. Fajnie by było rozszerzyć takie klasę o validację, pobieranie wartości z POST'u jeżeli są przesłane, a jeżeli nie to z bazy danych (jeżeli to edycja czegoś, po postowaniu dane z bazy zamieniają się na dane z POST'u chwilowo w wyświetleniu formularza). Ogólnie to nie OOP ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 15:16 |