Nie mvc ;) - potrzebna rada... |
Nie mvc ;) - potrzebna rada... |
3.05.2011, 12:09:11
Post
#1
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) |
Potrzebuję rady, a właściwie upewnić się, że idę w dobrą stronę...
Projekty tworzyłem głównie liniowo z domieszką oop bazując na swoim prymitywnym (nie)mvc - na swoich zasadach, które innym kolegom nie sprawiały problemu w zrozumieniu i modyfikacji kodu (raptem 2 projekty ;>). Nastał ten dzień, że chcę tworzyć głównie w oop (szykuje się 3ci - poważny projekt :/) z małą domieszką liniowego, szarego php (bo szary to też kolor) aby wszystko szło pewniej, bez zawalonej nocy "bo jednak ktoś popełnił błąd"... Mój mały plan: tworzę w oop - rozgrzewka, a gdy będę w stanie wyrzucić z moich narzędzi większość nie obiektowego kodu to przesiadam się na codeigniter lub kohana, a następnie zend. Czy wg. was lepiej jest od razu współpracować z framework'iem czy na początku zaprzyjaźnić się na dobre z obiektami i klasami, a następnie dołączyć do tego np. zend'a? Jeżeli chodzi o framework - czy przyswojenie kohana lub codeigniter (z akcentem na ten 2gi - z tego co czytałem bardziej przypadł mi do gustu), a następnie przesiadka na zend to dobre rozwiązanie? Czy lepiej od razu wsiąść na zend? A może inny framework? Dziękuję z góry za wyczerpujące odpowiedzi... -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
3.05.2011, 12:28:29
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
1. Naucz się przynajmniej podstaw OOP np. poprzez napisanie prostej biblioteki. Jeżeli dobrze znasz protokół HTTP możesz zrobić takiego własnego cURL-a, jeżeli znasz protokół Mail możesz zrobić coś do wysyłania maili, może to być jakieś narzędzie do obsługi systemu plików. Bylebyś się nie brał od razu za robienie nawet prostej strony w OOP, bo do tego potrzeba całej masy narzędzi, których dostarczą Ci dopiero jakieś FW bo na chwilę obecną raczej samemu nie stworzysz czegoś sensownego.
2. Mając już jakieś obycie z OOP weź się za jakiś FW napisany obiektowo np. popularne Zend czy Symfony. 3. Jaki sens miała by taka "przesiadka" z Kohany na Zenda? Jeżeli myślisz o Zendzie to od razu się za niego bierz (szczególnie, że Kohana czy CI do dobrych - w mojej opinii - nie należą). PS. Biel i czerń oraz wszystko pomiędzy nimi (odcienie szarości) to nie kolory. |
|
|
3.05.2011, 12:43:54
Post
#3
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) |
Z nauką frameworków jest tak, jak z językami programowania. Znasz jeden, drugi poznajesz dwa razy szybciej. Znasz dwa, trzeci poznajesz dwa razy szybciej. Znasz trzy... wszystko to kwestia doświadczenia, reszta to niuanse API i podejścia twórców. Jednak bez OOP zbyt wiele nie zwojujesz.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
3.05.2011, 13:10:13
Post
#4
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) |
1. Naucz się przynajmniej podstaw OOP np. poprzez napisanie prostej biblioteki. Podstawy są, gorzej z praktyką - jak na razie tworzyłem klasy rzadko połączone ze sobą. Teraz zaczynam tworzyć narzędzie do obsługi fotek dla sklepu (user musi jedynie wskazać folder z folderami, gdzie znajdują się foty produktu x) - narzędzie ma sortować fotki, zmieniać ich nazwy tak, aby były zgodne z danym schematem, tworzyć miniatury, updateować bazę a następnie uploadować wszystko na serwer ewentualnie podmieniać 1 fotę lub dodawać kolejną dla produktu... Następnie chcę napisać coś co będzie kontrolowało sesje, a 3cie zadanie to przepisanie na obiekty panelu admina - dodawanie, edycja produktów etc. Mam nadzieję że to mi wystarczy... Mam jakieś 2 miechy na zrobienie tego - i podjęcie decyzji czy robię dalej tak czy używając FW. Jaki sens miała by taka "przesiadka" z Kohany na Zenda? [...] (szczególnie, że Kohana czy CI do dobrych - w mojej opinii - nie należą). Głębszego sensu nie ma - myślałem, że CI lub Kohana ułatwią mi późniejszą naukę Zend'a Z nauką frameworków jest tak, jak z językami programowania. Znasz jeden, drugi poznajesz dwa razy szybciej. Ale teraz mam wątpliwości i chyba zdecyduję się od razu na Zend (edit: albo symfony - jednak przeraża mnie to, że niektórzy mają z nim problemy przy "oczywistych" rzeczach... Jak przy SSL - @Zyx). Jednak raczej FW wykorzystam w kolejnym, 4tym "projekcie" (3ci to platforma dla małych firm, zarządzanie klientami, przypominacz spotkań i kilka innych użytecznych narzędzi). Myślę, że strukturalno-obiektowy schemat do tego wystarczy tj. strona wykorzystująca narzędzia, biblioteki w OOP. Ten post edytował ixpack 3.05.2011, 15:19:44 -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
4.05.2011, 07:58:42
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) |
Czytam ten post i powiem Ci jak on wygląda z mojego punktu widzenia:
"Kupię sobie samochód z silnikiem Diesela ale nie za bardzo potrafię tym jeździć więc najpierw będę go tankował benzyną a potem zacznę tankować olejem". Podsumowując: Twój plan jest do bani. Naucz się OOP i nie kombinuj. Bo twierdząc, że najpierw sobie pokodujesz w OOP z domieszką programowania strukturalnego (lub odwrotnie) ujawniasz fakt, że nie tylko praktyki ale i podstaw Ci brakuje. |
|
|
4.05.2011, 11:36:12
Post
#6
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) |
Mike szanuję Twoją opinię i poniekąd się z tym zgadzam. Na coś takiego czekałem - tzn. na "kopa", bo sam sobie go dać nie umiem...
Cytat "Kupię sobie samochód z silnikiem Diesela ale nie za bardzo potrafię tym jeździć więc najpierw będę go tankował benzyną a potem zacznę tankować olejem". A co ma piernik do wiatraka? Tzn. prawo jazdy mam więc jeździć umiem... Ale nie do końca wiem czym tankować ] Brakuje mi doświadczenie w OOP - ba brakuje bardzo dużo i to wiem. Ok wg. Ciebie brakuje podstaw - a co to są podstawy? Pisanie klas, używanie obiektów? Mieszanie OOP i liniowego (że tak to ujmę) php jest moim zdaniem naturalne. Teraz podzieliłeś mi programistów php na 2 kupki: tych co piszą wszystko w obiektach (niestety nie wyobrażam sobie całej stronki napisanej TYLKO obiektowo) i tych co OOP nie umieją w ogóle bo tylko czasem używają narzędzi pisanych w OOP - a to nie jest dobre? Działa? Działa - jeżeli jest to zła technika proszę żebyś napisał dlaczego. PEAR - "Wszystko da się zrobić inaczej". Strukturalno-obiektowy - tak bym określił język PHP. A Ty jak? Kończę czytać 2gi raz PHP5. Obiekty, wzorce, narzędzia i nadal uważam, że bez struktur PHP nie pojedzie (edit: zbyt długo) - wleję diesla, ale jak nie doleję oleju to i tak silnik zatrę. Jakoś klasy napisać trzeba, metody - a jak wyświetlisz jakąś wartość bez liniowego polecenia? Bo trochę nie rozumiem jak bez np. echo, print etc. wyświetlić jakąś wartość :/ Chyba że źle rozumiem - a (np.) echo jest zorientowany obiektowo? Nic złośliwego nie mam na myśli - jestem samoukiem (nie poszedłem na studia musiałem wcześnie fizycznie pracować i zarabiać na leki - nie ważne) i to co napiszesz na pewno przemyślę - masz szansę kogoś, czegoś nauczyć. Cytat Jeżeli nie potrafisz czegoś wyjaśnić dostatecznie zrozumiale - to znaczy, że sam nie rozumiesz tego dostatecznie dobrze Pozdr. edit: "Plan" się zmienił: czytam kolejny raz księgę zaklęć (+manual bo tam ciekawie piszą ;]) i piszę narzędzia tylko w OOP, nie używam prehistorycznego php i zobaczę co z tego wyjdzie. Ten post edytował ixpack 4.05.2011, 11:48:22 -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
4.05.2011, 12:25:27
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
Masz rację do do jednego... w PHP nie da się pisać w pełni obiektowo. Gdzieś w końcu wewnątrz metod pojawia się kod strukturalny ponieważ... ponieważ PHP jest mocno spieprzone. Jakieś 95% API języka jest w pełni strukturalne i nie obejdziesz tego. Do tej pory nie rozumiem dlaczego jeszcze nie pojawiło się równoległe do istniejącego, obiektowe API.
Nie mniej jednak da się napisać "w pełni obiektowo" stronę w PHP. Przy czym przez pełnię mamy tutaj na myśli "wysokopoziomową" strukturę naszej aplikacji, natomiast najbardziej elementarne operacje, które ze względu na budowę języka muszą być napisane strukturalnie i "przykryte" obiektami. Cytat Jeżeli nie potrafisz czegoś wyjaśnić dostatecznie zrozumiale - to znaczy, że sam nie rozumiesz tego dostatecznie dobrze To jest akurat bzdura. Umiejętność wyjaśnienia czy ogólnie nauczania nie ma nic wspólnego z posiadaną wiedzą czy umiejętnościami w danym temacie.
|
|
|
4.05.2011, 15:29:29
Post
#8
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) |
[...] To jest akurat bzdura. Umiejętność wyjaśnienia czy ogólnie nauczania nie ma nic wspólnego z posiadaną wiedzą czy umiejętnościami w danym temacie. Crozin - cytowałem Einsteina ;] z nim kłócić się nie będę. Nie mniej jednak uważam, że wy (Ci, którzy tu mi odpowiadali) doskonale rozumiecie OOP - i dlatego chcę na was "pożerować" i się czegoś nauczyć. Pracy wam nie zabiorę, bo nie mieszkam w Polsce a poza tym jestem o mile świetlne od was jeżeli chodzi o wiedzę etc. Mam jeszcze jedno pytanko abstrahując od tego czy PHP/OOP umiem czy nie - czy i kiedy warto używać system szablonów? Czy sam FW w wykonania "projektu" nie będzie rozsądniejszym rozwiązaniem, czy może po prostu wygodniej zrzucić generowanie wyglądu na system szablonów? Np. symfony zająłby się M - C, a np. twig V? I czy w ogóle będzie to "działać"? Nie chcę teraz się tym zajmować, ale wiem że ten dzień sądu nadejdzie a na starcie wolałbym wiedzieć, że łączenie np. twig'a i symfony sprawi więcej problemów niż korzyści. -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
6.05.2011, 14:40:07
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Motasz się strasznie, bo nie zaglądasz do źródeł:
http://symfony.com/doc/current/book/index.html -------------------- 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. |
|
|
6.05.2011, 14:59:19
Post
#10
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) |
Motasz się strasznie, bo nie zaglądasz do źródeł: http://symfony.com/doc/current/book/index.html Jeden z komponentów Symfony2 :/ Dzięki panowie za pomoc. -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
8.06.2011, 12:26:03
Post
#11
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 6 Dołączył: 20.03.2011 Skąd: Świdnica Ostrzeżenie: (0%) |
Hej
Dobrą metodą żeby zrozumieć co i jak jest przepisanie tego co już masz - "liniowego" kodu na własny model MVC. Dużo się nauczysz właśnie w ten sposób, natomiast potem bym zajrzał do gotowców jak Zend, CI, Symfony. Każdy z nich jest inny. Zend ma rozbudowany model komunikacji, na początek może to być zbyt wiele dla Ciebie (dla mnie było). Natomiast podstawową komunikację w MVC można zamknąć w malutkim kodzie. Polecam również: Kod z książki 'php5 zaawansowane programowanie' - rozdział 10. przyda się do zrozumienia komunikacji we frameworkach, książke można pewnie znaleźc bez problemu w necie... -------------------- "I see" - said the blind man.
|
|
|
8.06.2011, 13:03:20
Post
#12
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) |
LSM -> w Zend Frameworku MVC jest pod warunkiem, że sobie go sam zaimplementujesz. Modeli nie ma tam w ogóle, widoków także (Zend_View to zwykły system szablonów, a nie żaden widok). Podobnie masz w CI, Symfony 1 i większości innych frameworków.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
8.06.2011, 18:20:59
Post
#13
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 6 Dołączył: 20.03.2011 Skąd: Świdnica Ostrzeżenie: (0%) |
@Zxyc - spokojnie, nigdzie nie napisałem, że ZF ma MVC, w ogóle co to znaczy, że ma ? Przecież wiadomo ze jak się coś robi to z myślą o konkretnych własnych implementacjach. Ale z pewnością frameworki są stworzone z myślą o szybkiej i łatwiej implementacji MVC - czyli po prostu utworzenia konkretnych klas modeli i widoków. Nie rozumiem do czego zmierzasz Zyxc.
BTW: http://codeigniter.com/user_guide/overview/mvc.html Jak czytamy: "CodeIgniter is based on the Model-View-Controller development pattern." Chociaż rozumiem że "based" nie oznacza "implementation" ... Pozdrawiam Ten post edytował LSM 8.06.2011, 18:30:21 -------------------- "I see" - said the blind man.
|
|
|
8.06.2011, 19:46:34
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Cytat Jak czytamy: "CodeIgniter is based on the Model-View-Controller development pattern." To ze jest napisane nie znaczy ze jest to tez dobrze zaimplementowane na poziomie kodu -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
8.06.2011, 20:22:20
Post
#15
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 6 Dołączył: 20.03.2011 Skąd: Świdnica Ostrzeżenie: (0%) |
Wiele osób uprawia tu demagogię. Trzymajmy się faktów. Przypięty temat odn. MVC zawiera nawet stwierdzenie o implementacji MVC w CI, Symfony. A co to znaczy "dobra implementacja" ? Albo jest koncepcja MVC we frameworku albo jej nie ma. W CI możemy również przeczytać, że jest to luźne MVC czyli wcale nie musimy używać modelu itp. itd.
Zyx stwierdził że w CI nie ma MVC. A teraz doszło, że jest ale źle zaimplementowana, ciekawe hehe. -------------------- "I see" - said the blind man.
|
|
|
8.06.2011, 20:44:32
Post
#16
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) |
a ja mam takie pytanie ... co jest przyczyna tego ze wszyscy tak sie przyczepili do CI ? co jest w nim takiego zlego ?
|
|
|
8.06.2011, 20:54:15
Post
#17
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
@jacobson: To jest po prostu cholernie słaby projekt. Moim zdaniem nie warty nawet uwagi.
|
|
|
8.06.2011, 20:57:42
Post
#18
|
|
Grupa: Zarejestrowani Postów: 64 Pomógł: 6 Dołączył: 20.03.2011 Skąd: Świdnica Ostrzeżenie: (0%) |
Nic, moim zdaniem to jeden z najlepszych jakie widziałem. Symfony 2 wziął teraz wiele z CI :-) A to o czymś świadczy. On jest mega lajtowy, chociaż ma pare rzeczy do których można się przyczepić jak wszystko na tej planecie - nic nie jest doskonałe. CI ma dobrze zorganizowane katalogi, świetną dokumentację i jak ktoś jest początkującym to w parenaście minut postawi stronę.
@Crozin no to mnie zgiałeś w pół. Jaki polecasz? -------------------- "I see" - said the blind man.
|
|
|
8.06.2011, 20:58:30
Post
#19
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Cytat Zyx stwierdził że w CI nie ma MVC. A teraz doszło, że jest ale źle zaimplementowana, ciekawe hehe. Ja sie odnosilem do twojego zdania nie do tego co stwierdzil @Zyx, choc to co on stwierdzil to tylko prawda! -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
8.06.2011, 21:00:03
Post
#20
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) |
no wlasnie nie rozumiem czym on odstaje od takich frameworkow jak symfony ... przeciez nawet duzy serwis mozna postawic na takim framerowku jak CI. Ma niedociagniecia jednak ogolny projekt, prostota pomagaja w implementacji. Czy nie mam racji ? Co zmieni to jak serwis bedzie napisany w zendzie a w CI . poza tym ze w tym pierwszym bedzie PRO bo to jest zend ...
|
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 03:19 |