Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Nie mvc ;) - potrzebna rada...
ixpack
post 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.
Go to the top of the page
+Quote Post
Crozin
post 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. wink.gif
Go to the top of the page
+Quote Post
Zyx
post 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
Go to the top of the page
+Quote Post
ixpack
post 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%)
-----


Cytat(Crozin @ 3.05.2011, 12:28:29 ) *
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.

Cytat(Crozin @ 3.05.2011, 12:28:29 ) *
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

Cytat(Zyx @ 3.05.2011, 12:43:54 ) *
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.
Go to the top of the page
+Quote Post
mike
post 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.
Go to the top of the page
+Quote Post
ixpack
post 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ć ]smile.gif

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 sad.gif musiałem wcześnie fizycznie pracować i zarabiać na leki wink.gif - 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.
Go to the top of the page
+Quote Post
Crozin
post 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.
Go to the top of the page
+Quote Post
ixpack
post 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%)
-----


Cytat(Crozin @ 4.05.2011, 12:25:27 ) *
[...]
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 wink.gif 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 biggrin.gif 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.
Go to the top of the page
+Quote Post
Cysiaczek
post 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.
Go to the top of the page
+Quote Post
ixpack
post 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%)
-----


Cytat(Cysiaczek @ 6.05.2011, 14:40:07 ) *
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.
Go to the top of the page
+Quote Post
LSM
post 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... wink.gif



--------------------
"I see" - said the blind man.
Go to the top of the page
+Quote Post
Zyx
post 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
Go to the top of the page
+Quote Post
LSM
post 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" ... sciana.gif


Pozdrawiam

Ten post edytował LSM 8.06.2011, 18:30:21


--------------------
"I see" - said the blind man.
Go to the top of the page
+Quote Post
marcio
post 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%)
X----


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 snitch.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
LSM
post 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. zakochany.gif


--------------------
"I see" - said the blind man.
Go to the top of the page
+Quote Post
jacobson
post 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 ?
Go to the top of the page
+Quote Post
Crozin
post 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.
Go to the top of the page
+Quote Post
LSM
post 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ę. oneeyedsmiley02.png

@Crozin no to mnie zgiałeś w pół. Jaki polecasz?


--------------------
"I see" - said the blind man.
Go to the top of the page
+Quote Post
marcio
post 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%)
X----


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
Go to the top of the page
+Quote Post
jacobson
post 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 ...
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 08:33