Cześć.
Na wstępie bym prosił o odpowiedzi jak najszybciej ponieważ potrzebuje ich na jutro rano.
Otóż problem jest związany z nową pracą. Mamy napisać framework i stawiać na nim nasze systemy. Gotowe odpadają.
Koleś, który pracuje już tam 3 lata ma swój "prawie gotowy" framework. Na początku był plan, że dokańczamy w dwa tygodnie ten framework i zaczynamy pisać systemy.
Sprawdziłem kod i aż płakać mi się chciało. Może nie aż tak super źle, ale nic mnie nie zachwycało. Zaproponowałem aby dokończyć mój framework, który mam trochę zrobiony i jest na podobnym stadium co jego. I zaczęło się, że zamiast pracować to już dwa dni tylko dyskutujemy o tym. Więc chciałbym abyście zerknęli i powiedzieli co nieco na ten temat. Tylko proszę aby nie narzekać, że gotowe są lepsze itp. Mamy zrobić własny i już.
Mój: https://www.dropbox.com/sh/mj0kdxf2ijn9vcc/...LADB_2dRYa?dl=0
Jego: usunięte
U niego jest plan aby dodać namespace, ale tylko do kontrolerów, modeli i widoku, a może kiedyś do reszty - dla mnie bez sensu.
Ma on zrobione moduły, które u siebie już powoli zacząłem robić. U niego są w folderze 'libs'. Tak, w folderze z bibliotekami...
To jeszcze nie koniec.
Ja używam MVC tego typu: http://rachelappel.com/Media/Default/Windo...284/image_8.png
On: http://www.mindsilver.com/guide/docs/artic...gController.png
Czyli ma jeszcze jakieś połączenie pomiędzy View a Model. Jak dla mnie to zły pomysł aby widok miał dostęp do modelu. Zgadzam się aby były widgety czy tam pluginy, kto jaką nazwę woli, aby były w widokach, a te widgety/pluginy będą pobierał z modelu dane. Warto spojrzeć jeszcze, że on ma klasy View i nazwaView. Ja tego nie mam.
Jako argument dał, że w widoku wystarczy ładować mu dane i od razu wyświetlać.
Sprawdźcie te pliki:
usunięte
Spójrzcie na metody index(). Ładuje widok, a w widoku Model i wysyła do templatki. Fajnie, fajnie. Dobrze oddzielone i tak dalej.
A teraz mój argument, że to złe. Teraz sprawdźcie te dwa JEGO pliki:
usunięte
A dokładniej na metody one() - to wystarczy.
Po pierwsze, ładuje z Modelu dwa razy to samo. Zmienił to już (nie mam najnowszego kodu) i w widoku teraz przyjmuje z argumentu tamtą tablice. Czyli już pokazuje, że robi to samo co w moim frameworku.
Następna sprawa to baza danych. Ma on tabelę contents, która zawiera, uwaga, wszystkie treści! Artykuł, prawdopodobnie pierwszy post z tematu (czyli jest jako temat). Mówił mi, że KAŻDA treść tam będzie jako rekord żeby nie tworzyć za dużo tabelek na te dane. Tabelka comments, to samo. Aktualnie ma zrobione "komentarze" do forum, ale zgaduje, że tam też będą komentarze do newsów i innych podobnych modułów. Waszym zdaniem, ma to sens?
Jak dla mnie, jeśli są moduł to instalator powinien dodawać swoje tabele, a przy usuwaniu usuwać. Wszystkie CMS'y tak mają więc raczej jest to dobre.
I takie mniej ważne rzeczy to jego kod. Raz piszeTak, a raz_tak. Autoloader plików szuka tylko jako $nazwa.class.php. Nie widzi mi się aby pracować na jego kodzie.
Dlatego was proszę aby pomóc znaleźć argumenty aby zrobić to wszystko lepiej. Jeśli przekonam programistę to szef od razu się zgodzi. Są plany aby pracować na oby dwóch, ale skupić się bardziej na jego aby jak najszybciej zaczął pisać systemy. Ponoć jego framework jest gotowy aby bardzo szybko przenieść kod starego systemu na to i już działać. Nie wiem po co, ale tak gadał. Programista trzyma się twardo, chce swoje i już. Jeśli nie uda mi się załatwić dobrych argumentów i jutro rano będą znów długie dyskusje to nagle przerwę to i odpuszczę. Szkoda czasu wtedy. Ostatnia szansa jest więc.
Podsumowując, prosiłbym o komentarz według punktów:
1. Porównanie frameworków.
2. O samo MVC, czy View powinno być klasą. O dostęp do modelu poprzez widok, czy może lepszy mój pomysł z widgetami/pluginami.
3. Dwie tabele zamiast więcej oddzielonych przez moduły.
4. Ogólnie przedstawić argumenty.
Próbowałem to jak najszybciej napisać bo dopiero co wróciłem więc może być trochę niejasności. Proszę o szybkie odpowiedzi, ewentualnie dopytać a spróbuję jak najszybciej odpowiadać. Przypominam, że jutro od rana już będę rozmawiał z programistą więc bym musiał mieć to wszystko na dziś. Programista tamten pracuje zdalnie jak by co.
Dzięki i pozdrawiam.
@edit1:
Zapomniałem dodać, że framework na być łatwy dla nowych, aby jak ktoś będzie na urlopie lub chory to ktoś z zewnątrz mógł w razie czego raz dwa coś poprawić.