Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ktory framework (MVC) wybrac ?
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
lukaswoj
Witam szanownych grupowiczow.

Chcialbym was poprosic o porade w zakresie wyboru framework'(u|a) pisanego w oparciu o wzorzec MVC.

Przekopalem w ciagu ostatnich kilku dni tematy z tym zwiazane, ktore byly poruszane na forum i stwierdzilem, ze jest calkiem spory wybor. smile.gif

Niemam niestety czasu, zeby sprawdzic kazdy z nich i wybrac najlepszy dla siebie.

Dodam, ze nie jest dla mnie przeszkoda manual w jezyku angielskim czy niezbyt jasna dokumentacja - jestem pewny, ze z tym sobie poradze.

Jakos tak, najbardziej mysle o rodzimym projekcie Phiend smile.gif - ale to tylko dlatego, ze jest zrobiony przez "naszego" czlowieka - nie znam jego mozliwosci.

Ciekawy jestem czy moze poradzicie cos waszym zdaniem "lepszego", dajacego wieksze mozliwosci, ciekawszego.

pozdrawiam wszystkich
fryk
Witam. Do tematu nic nie wniosę, chciałem tylko zasygnalizować, że mnie również bardzo interesuje opinia które rozwiązanie wybrać.

W planach mam stworzenie dużego serwisu/portalu. Też w oko wpałd mi rodzimy Phiend, a także Mojavi.

Jak to ktoś ładnie ujął - po co wyważać otwarte wcześniej przez kogoś drzwi?

Poradźcie bracia!
Dravo
Nie wiem jak Mojavi ale Phiend to solidna i co wazniejsze, przy dużych projektach, szybka podstawa.
Jeśli miałbym wybierać to Phiend'a ale ktoś może się ze mną nie zgadzać.
Ja też jestem ciekawey co mają do powiedzenia inni.
Seth
Ja szczerze mowiac wybral bym cos innego niz phiend - jest to naprawde dobry i szybki framework - ale ma pewne ograniczenia, ktorych w nowej wersji powinno nie byc smile.gif
Dlatego raczej sklanial bym sie ku drugiemu.
rzseattle
Zgadzam sie z przedmowca. Phiend jest dobry ale raczej jako podstawa dydaktyczna. Jest dobrze napisany jednak wyglada na nie skonczony. Brak modulow, czy uzycia subkatalogow dla akcji to dwie rzeczy ktore moga dac niezle w skore Przy tworzeniu strony z powiedzmy 50 akcjami. Do tego zero wsparcia dla modelu i tylko jeden plik xml z cala konfiguracja (lacznie z konfiguracja wszystkich akcji) ktory po chwili zaczyna byc wrecz nieedytowalny. Dla tego odradzal bym Phienda do stawiaia duzych servisow. Jesli jednak ktos chce poznac mvc to bardzo polecam.

Narazie czekajmy na nastepce Phienda. Wtedy poczujemy moc. winksmiley.jpg
fryk
Dziękuję za nieocenione rady odnośnie tego czego nie używać winksmiley.jpg

Doradźcie teraz w co warto zainwestować czas - bo jeśli chodzi o mnie to będziedzie to mój pierwszy MVC i będę na nim odkrywał tajniki technik tworzenia portali.

Czy jest to jednogłośnie Mojavi?
lukaswoj
Juz sie balem, ze nikt nic nie poradzi smile.gif

No to w takim razie, lekko przyhamuje jesli chodzi o Phiend'a.

To co chce stworzyc to bedzie raczej wieksza aplikacja, wiec rowniez czekam na polecenia, ktoregos z dostepnych MVC-framework'ow.

pozdrawiam
hawk
Cytat
Phiend jest dobry ale raczej jako podstawa dydaktyczna. Jest dobrze napisany jednak wyglada na nie skonczony. Brak modulow, czy uzycia subkatalogow dla akcji to dwie rzeczy ktore moga dac niezle w skore.

Generalnie, phiend nie jest skalowalny. Na auto-pocieszenie dodam, że to nie tylko phiend tak ma. Ale faktu nie da się ukryć. To sie przejawia przez rozrastający się katalog z akcjami, rozrastający się plik XML... Ale phiend2 będzie mega-super-skalowalny biggrin.gif .

Cytat
Do tego zero wsparcia dla modelu

Tutaj chcę podkreślić, że tak IMHO ma być. It's not a bug, it's a feature. I to znowu nie tylko phiend, ale wiele innych. Dlaczego? Bo Model jest praktycznie odseparowany od Kontrolera. Nie mają raczej punktu styku, więc byłyby to de facto 2 różne systemy sklejone na siłę razem. Bierzesz framework MVC - masz Kontroler, a Model kombinujesz oddzielnie.

Cytat
Narazie czekajmy na nastepce Phienda. Wtedy poczujemy moc.  ;)

Wybrańcy mogą - zamiast czekać - zobaczyć kod na CVS, a nawet włączyć się w prace.
BTW, jakby ktoś rzeczywiście czekał, proszę pamiętać, że phiend2 będzie tylko na PHP5. Nie da się skonwertować do PHP4, bo rzecz w wyjątkach, overloadingu, DOM XML, itd. To może być na razie pewna bariera, ale do czasu.
halfik
Cytat
Jak to ktoś ładnie ujął - po co wyważać otwarte wcześniej przez kogoś drzwi?

Żeby zdobyć większe doświadczenie i się pobawić?tongue.gif

Jakby wszysyc tak podchodzili do tematu, to dziś php.pl stałby pewnie na jakimś JPilocie lub innym...
fryk
Cytat
Żeby zdobyć większe doświadczenie i się pobawić?tongue.gif


Zgodzę się z Tobą i nie smile.gif

Też jestem zwolennikiem robienia wszystkiego sam od podstaw tylko, że...

Za 40 dni muszę oddać pracę magisterską pt. "Samouczący się serwis WWW".
Nie mam więc czasu na zrobienie wszystkiego sam. - Postanowiłem sprytnie, że użyję gotowego MVC, dodam w nim modulik do rejestrowania ruchu na stronie - w poszczególnych modułach / akcjach i GOTOWE!

Jeśli chodzi o MOJAVI to dzisiaj udało mi się ściągnąć najnowszą CVS'ową wersję wraz z kilkoma działającymi przykładami. Nic tylko rozgryzać winksmiley.jpg Niedługo wrzucę tutaj kilka linków.

Pozdr!
halfik
Cytat
Za 40 dni muszę oddać pracę magisterską pt. "Samouczący się serwis WWW".

Ciekawy temat, możesz napisać coś więcej w tej kwesti?


Cytat
...dodam w nim modulik do rejestrowania ruchu na stronie - w poszczególnych modułach / akcjach i GOTOWE!

No ja takiego modulika już od pewnego czsu używam na swoim serwisie, bo ruch jest rzędu 100 odwiedzin dziennie więc mogę go śledzić winksmiley.jpg to dobra rzecz jest, ale przy dużych serwisach należałoby go faktycznie rozbudować, żeby zbierał i wysyłał adminom na maile tylko infoprmacje o podejrzanych ruchach tongue.gif

Cytat
Jeśli chodzi o MOJAVI to dzisiaj udało mi się ściągnąć najnowszą CVS'ową wersję wraz z kilkoma działającymi przykładami. Nic tylko rozgryzać winksmiley.jpg Niedługo wrzucę tutaj kilka linków.

No oblookam co tam ciekawego podeślesz smile.gif
Seth
Cytat
No ja takiego modulika już od pewnego czsu używam na swoim serwisie, bo ruch jest rzędu 100 odwiedzin dziennie więc mogę go śledzić winksmiley.jpg to dobra rzecz jest, ale przy dużych serwisach należałoby go faktycznie rozbudować, żeby zbierał i wysyłał adminom na maile tylko infoprmacje o podejrzanych ruchach tongue.gif

Hmm wpadl mi do glowy pomysl dotyczacy tego modulu. Nie wiem czy jest odkrywczy ale nie spotkalem sie do tej pory z czyms takim.
Otoz:
mozna bylo by na podstawie ruchu - czyli popularnosci danej strony - tworzyc profile uzytkownikow i dostosowywac serwis dla kazdego usera jak i ogolny dla wszystkich.
Przykladowo:
najczesciej odwiedzana strona jest np artykul o budowie ciagnikow siodlowych i powiazane z nimi inne podstrony, a do tego uzytkownicy przegladajacy te strony posiadaja IP zaczynajace sie na 62.179.*. Majac takie dane i na podstawie odpowiednich wag podczas wejscia uzytkownika z danego "Schematu" IP pokazujemy mu na glownej stronie linki do tych stron.
Mozna by uzyc dodtakowych zmiennych takich jak jezyk uzytkownika i wzaleznosci od niego jakie strony sa popularne takie prezentujemy.
No i na koncu personalizowanie strony na podstawie ruchu jednego usera. Jezeli zaobserwujemy, ze najczesciej odwiedza strony np o tematyce php winksmiley.jpg w naszym serwisie albo bardziej specjalistycznie: o bibliotece GD to na glownej czy tez na innych podstronach serwujemy mu informacje na ten temat.


Edit: wlasnie przeczytalem ten temat http://forum.php.pl/viewtopic.php?t=15510 ... czy to co podales fryk to wlasnie cos takiego jak opisywalem ?
fryk
@Seth: dokładnie tak samo. i dalszy pomysł (dot. personalizacji treści) mam taki sam -> bo jest wprost intuicyjny winksmiley.jpg

do tego powiem, że poszperałem w sieci i jeden koleś napisał już taką pracę magisterską (identyczny temat), tylko że nie odpowiada na maile.

na jednej z politechnik w Polsce już dawno temu ruszył właśnie projekt traktujący dokładnie to o czym tu abstrachujemy.
dragossani
Trochę się tu wpychają w całą koncepcje zagadnienia psychologiczne. Jak wyeksponujesz dany link to od razu będzie częściej klikany. Tworzy się błędne koło. Trzeba umiejętnie korzystać ze zdobytych informacji - np. eksponować od razu tematy pokrewne do popularnych.

Ostrzegam, że odchodzimy od tematu. :wink:
Seth
Dlatego trzeba by wypracowac algorytm korygujacy to winksmiley.jpg Np sprawdzanie refrera czy tez sprawdzanie drogi usera po podstronach.
Jezeli widzimy, ze user przechodzi po kategoriach i zatrzymuje sie dluzej przy danej stronie czy tez pozniej wraca do neij juz nie przechdozac przez podkategorie oznaczalo by to, ze ejst nia zainsteresowany.

Mozna by tez dodatkowo dodawac zmienne, ktore by odroznialy elementy "inteligentych linkow" od zwyklych.
fryk
moderatorem to ja nie jestem ale tu nam nowy wątek powstał biggrin.gif

proponuję odkleić ostatnich kilka postów i przykleić do ]http://forum.php.pl/viewtopic.php?t=15510
fryk
Cytat
Jeśli chodzi o MOJAVI to dzisiaj udało mi się ściągnąć najnowszą CVS'ową wersję wraz z kilkoma działającymi przykładami. Nic tylko rozgryzać winksmiley.jpg Niedługo wrzucę tutaj kilka linków.


Oto link z moimi dokonaniami winksmiley.jpg http://forum.php.pl/viewtopic.php?p=101472#101472

Proponuję przenieść się właśnie tam.

Pozdrawiam!
lukaswoj
Cytat
Wybrańcy mogą - zamiast czekać - zobaczyć kod na CVS, a nawet włączyć się w prace.
BTW, jakby ktoś rzeczywiście czekał, proszę pamiętać, że phiend2 będzie tylko na PHP5. Nie da się skonwertować do PHP4, bo rzecz w wyjątkach, overloadingu, DOM XML, itd. To może być na razie pewna bariera, ale do czasu.

hawk - mógłbyś podać trochę więcej szczegółów?
Chętnie obejrzałbym kod Phiend2
Czy jesteś w stanie określić stopień kompletności projektu ?
hawk
Projekt będzie się niestety ciągnął, ponieważ jest wkomponowany w jądro THOTa (chociaż phiend2 będzie mógł chodzić samodzielnie). W tej chwili gotowy jest silnik który dostarcza architektury, uruchamia wszystko, bla, bla. Ale OOP objawia się tym że cała "dodatkowa" funkcjonalność, jak sesje, auth, logowanie błędów itd. są wywalone do osobnych dynamicznie dołączanych wtyczek, których jeszcze nie ma.

Co do kodu - jeżeli nie ma anonymous access do naszego CVS, to nic z tego nie wyjdzie, bo utrzymywanie drugiej kopii w innym miejscu jest mało realne. Więc na razie raczej nie ma jak :?

Niedługo ma ruszyć strona THOTa, wtedy może będzie tam można poczytać o postępach.
lukaswoj
Hmm, skoro jądro jest gotowe to już jest na co popatrzeć i przy czym podłubać.
Ja te moduliki, o których piszesz chętnie sam bym spróbował napisać, potem może bym się pochwalił tym co wypocę i może się okaże, że się jakoś przydam.

Mówisz, że niema anonymous CVS'a - czy to oznacza, że wogule nie ma możliwości pozyskania chociaż tej części, która już jest zrobiona (pytam o Phiend2)?
Seth
Kod THOTa - jak i jadra - bedzie narazie dostepny tylko dla devu. Nie chcemy aby przecieklo to zanim wydamy kod i ktos sie pod tym podpisal.
hawk
Gdzieś w środku tego wątku polecałem Mojavi jako najlepszy chyba aktualnie framework, i dalej to podtrzymuję, bo jest bardziej dojrzały niż phiend i support ma o niebo lepszy. Ale...

Ale im bardziej rozwijam phiend2 tym bardziej widzę że Mojavi poszedł w złą stronę, czyli ma poważne błędy konstrukcyjne. Zresztą phiend1 też. Za dużo chcieli (chciał - autor jest formalnie jeden) do niego wsadzić, i nie skorzystali w porę ze wzorców OOP.

Mojavi ma bardzo aktywne forum, i można na nim znaleźć wiele ciekawych pomysłów, jak dołożyć dodatkową funkcjonalność. Ktoś chce uzyskać coś nowego i rzuca na forum kod, który to realizuje. Kod dobry, sprawdzony, itd. Tylko że użycie tego wymaga otwarcia pliku z kodem Mojavi i własnoręcznego naniesienia poprawek.

Te spontaniczne patche nigdy nie znajdą się w oficjalnym release, bo się ze sobą gryzą. Używanie ich na własną rękę jest niewygodne, bo trzeba poznać kod Mojavi, a po wypuszczeniu nowej wersji frameworka nasze zmiany szlag trafia.

Widzicie problem? Taki framework albo obrasta w różne opcje i switche, które dla typowego użytkownika tylko zaciemniają sprawę, albo nie da się zintegrować z takimi dodatkami. BTW, różne opcje w phiendzie też są przykładem jak nie należy robić, bo ile można mieć takich opcji?

Dopóki bierzesz co dają i wystarcza ci standardowe podejście prezentowane przez framework, dopóki jest OK. Ale jak chcesz coś mieć po swojemu, framework się sypie.

Dobrym przykładem, jak należy robić (choć z innej beczki zupełnie) jest Swing dla Javy. Notabene wzorcowy przykład MVC :wink: . Jak chcesz coś zmienić, dostosować, itd, to nie hackujesz kodu Swinga, tylko wstawiasz gdzieś swoją klasę zamiast domyślnej. Ładne OOP.

I takie jest przesłanie phiend2. Żeby to co wspólne było w jednym engine, a to co może się zmieniać było osobnych pluginach, które można swobodnie wymieniać i które sobie nawzajem nie przeszkadzają.
Seth
Posty OT zostaly przeniesione http://forum.php.pl/viewtopic.php?t=16857
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.