![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Witam,
prosił bym o opinie na temat najnowszej wersji mojego FW. Konkretnie interesuje mnie wasze zdanie co byście w nim chcieli jeszcze zobaczyć lub zmienić aby jeszcze przyjemniej się w nim pisało. Jako że zabieram się za pisanie polskiej dokumentacji, interesuje mnie co wydaje wam się niejasne, trudne do zrozumienia w tutorialu na stronie. Wiem że obecnie to bardziej zbiór przykładowych kodów, ale i tak jestem ciekaw czy coś pominąłem co dla osoby która nigdy nie pisała w fw może być niezrozumiałe. http://spawnframework.com/ Tak, wiem, nie ma testów jednostkowych. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Full integrate Spawn Framework with Twitter Bootstrap Co ma TB do FW w PHP? o0 W dokumentacji brakuje podglądu plików (tak wiem, że jest GIThub, ale on zamula). Zamiast phpdoc, polecam http://apigen.org/ I zależy też w jaką grupę celujesz z tym FW. Ten post edytował !*! 27.04.2013, 12:01:13 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Ja jestem podobnego zdania co przedmówca.
Moim zdaniem framework nie powinien dostarczać takich rzeczy jak integracja Twitter Bootstrap. (jeżeli już to np w formie jakiejś usługi) Owszem powinien być dostosowany w ten sposób, aby taka integracja była łatwa i przyjemna ale samą integracją powinien się już zając developer używający frameworka. Mi nie brakuje podglądu plików, github w zupełności wystarcza i w ogóle to lubię githuba i często z niego korzystam. @up Widzę, że nie tylko ja bardziej przepadam za ApiGen niż phpDoc Od siebie dodam, że może warto byłoby pomyśleć o jakimś mechaniźmie modułów / pluginów coś jak moduły zenda lub bundle symfony. Coś co znacznie ułatwi prowadzenie kilku projektów wykorzystując te same / podobne mechanizmy. No i oczywiście to co już sam podkreśliłeś brakuje mi testów jednostkowych Ten post edytował mstraczkowski 27.04.2013, 14:16:19 -------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Cytat I zależy też w jaką grupę celujesz z tym FW. Małe-średnie projekty. Czyli firmy robiące masowo strony, freelancerzy, firmy z małymi zespołami programistów do wewnętrznych projektów typu crm. Czemu zdecydowałem się w najnowszej wersji zintegrować FW z TB? Aby można było zaraz po pobraniu przystąpić do tworzenia projektu. Większość, jeśli nie każdy fw narzuca własne szablony html i nazewnictwo klas w css. Jednak nie każdy dostarcza sam szablon css (chyba talko yii), przez co zanim ruszmy z programowaniem musimy tracić czas na dostosowanie się do nazewnictwa danego fw. Jako że w Spawn 2 postanowiłem zamiast tworzyć własnych nazw, dostosować szablony pod TB. Uznałem że najlepszym wyjściem będzie też dostarczenie samego TB jako dodatku do fw. ApiGen pobawię się w wolnej chwili, nie korzystałem jeszcze z niego. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zaraz zaraz... który framework narzuca korzystanie z danych reguł CSS O_O ?
// EDIT @Spawnm, celem frameworków raczej jest wygodny sposób na wdrażanie swoich modułów i wygodne korzystanie z już istniejących. Według mnie powinieneś skupić się raczej na stworzeniu możliwości łatwej implementacji takich rzeczy. Wiadomo, że w frameworkach istnieją już gotowe moduły do takich rzeczy jak ACL, routing, kontrolery itp. ale takie rzeczy już w nich są z definicji frameworka i upychanie do funkcjonalności server-side rzeczy należących do client-side jest złym pomysłem (zwłaszcza, że implementacja frameworków CSS / JS itp. to po prostu wrzucenie pliku do folderu i dodanie linijki w szablonie) Ten post edytował pyro 27.04.2013, 16:35:28 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wiem że obecnie to bardziej zbiór przykładowych kodów, ale i tak jestem ciekaw czy coś pominąłem co dla osoby która nigdy nie pisała w fw może być niezrozumiałe. Np Przykładowa aplikacja z wykorzystaniem frontend i backend. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Przyznam że jestem w szoku że wszyscy się czepili dodania TB aby ułatwić/przyśpieszyć start w szybkim tworzeniu projektów
![]() Cytat Od siebie dodam, że może warto byłoby pomyśleć o jakimś mechaniźmie modułów / pluginów coś jak moduły zenda lub bundle symfony. Obecnie istnieje coś takiego ja wielopoziomowe kontrolery. Bajer z ładowaniem osobnej architektury mvc jako plugin/moduł za jakiś czas się pojawi. Obecnie zastanawiam się nad najlepszym rozwiązaniem. @memory - dobry pomysł. Czekam na dalsze uwagi ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Skoro już wszyscy są tak na nie dla TB, to ja osobiscie uważam, że tak stwierdził mstraczkowski TB raczej powinno być jako opcja, nie jako standard, bo owszem dla przeciętnego Kowalskiego może i to okazać sie pomocnę, ale chyba nie zakładasz, że tylko wsród nich znajdziesz swoich odbiorców, bo framework ma narzucać jakiś szkielet do budowy projektów, ale front-end jest zupełnie oddzielnym aspektem, którego raczej nie zawiera sie w architekturze frameworka, jednakże nie jestem aż tak na nie jak moi koledzy wyżej, powiem tak ja osobiście na twoim miejscu wypuściłbym np. 2 wersje, jedną bez narzuconej architektury front-endowej i drugą z TB skoro już przygotowałeś pod niego SF
![]() ![]() ![]() Ten post edytował com 27.04.2013, 20:04:21 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Ciekawa propozycja, przyznam że nie śledzę zf2 i jestem trochę w szoku
![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Jako użytkownik twojego FW, chciałbym mięć możliwość pre-konfiguracji z możliwością dodania bootstrap i BOILERPLATE
Jak na stronie http://www.initializr.com/ |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Poza głównym tematem, gdy wybierzemy stronę http://spawnframework.com/doc/ a następnie zakładkę "Files" i na przykład plik Arr.php to serwer zwraca 403.
-------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja mogę się przyczepić do... błędów językowych. Angielski kuleje, i to bardzo. Więc na pewno dobrym pomysłem jest to o czym autor wspomniał na początku - polska dokumentacja. Choć i tam, sądząc po błędzie na stronie autora, nie zabraknie choćby literówek.
Poza tym, FW bardzo podobny do mojego autorskiego rozwiązania stosowanego u nas w firmie (i kilku innych) od kilku lat, aczkolwiek moje rozwiązanie stawia na maksymalną prostotę. I nienawidzę namespaces... ![]() -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat I nienawidzę namespaces Tylko w PHP? To najlepsze co może być w programowaniu obiektowym. @Spawnm - co to w zasadzie jest za klasa "firewall"? Przyczepiłbym się też do nawyków z PHP4, do podkreślnika przy metodach private/protected np. Cytat _setBackground _setText _size Stary, niepotrzebny nawyk ;) rzuć też okiem na PSR-* -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Namespace są fajne, co wy chcecie
![]() @!*! - firewall służy do tworzenia prostych zapór dla kontrolerów i akcji. Jeśli tworzysz np. admin panel składający się z 9 kontrolerów, to aby nie musieć w 9 kontrolerach pisać $auth->isValid itd. wystarczy że dodasz jednego seta do firewalla dla 'admin'. Cytat Przyczepiłbym się też do nawyków z PHP4, do podkreślnika przy metodach private/protected Pierwsze słyszę aby to był nawyk z php4, spotkasz ten standard w wielu językach. Dzięki takiemu nazewnictwu kod jest czytelniejszy. @reszta - zachęcam do komentowania samego fw, strona będzie nowa ![]() |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pierwsze słyszę aby to był nawyk z php4, spotkasz ten standard w wielu językach. Dzięki takiemu nazewnictwu kod jest czytelniejszy. W php 4 nie było odpowiednich flag dostępu, dlatego ktoś wpadł na pomysł, aby je odróżniać poprzez "_" na początku nazwy metody, tak jeszcze do niedawna działał chociażby router w CI. Dzisiaj jest to zbędne, a nawet niezalecane, to tak jakbyś pisał "var" przy deklaracji zmiennej. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 273 Pomógł: 52 Dołączył: 3.02.2013 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Nie zgadzam się z opinią na temat podkreśleń.
Jest to oznaczenie wizualne dla programisty że ma do czynienia z właściwością/metodą chronioną lub prywatną, bez pomocy IDE oraz bez patrzenia na jej deklaracje. Nie uważam, aby to był zły nawyk z PHP 4, złym nawykiem może być używanie wspomnianego var, lub nie deklarowanie modyfikatorów dostępu przy metodach. To że giganci z tego nie korzystają (Symfony / Zend) nie oznacza, że jest to zły nawyk, nawet pokusiłbym się o stwierdzenie, że jest to lepszy nawyk. Nazewnictwo zmiennych / właściwości jest rzeczą indywidualną dla każdego projektu / programisty i nie wpływa negatywnie na jakość kodu. Pomijając oczywiście fakt debilnego nazywania zmiennych - to może obniżyć jakość kodu. Natomiast znaczek "_" jako oznaczenie że właściwość jest chroniona lub prywatna w żaden sposób nie traktowałbym jako zły nawyk. Nie można także porównywać stosowania starego var do używania w nazewnictwie podkreśleń. I nienawidzę namespaces... ![]() Proszę rozwiń swoją myśl, bo nie rozumiem dlaczego można czuć niechęć do przestrzeni nazw, skoro wnoszą tyle dobrego.. Zarówno do zarządzania zewnętrznymi zależnościami jak i czytelnego nazewnictwa klas i przechowywania ich w odpowiednich katalogach, bez długich prefixów w stylu Synchronize_Offer_BookstoreNext_Init Ten post edytował mstraczkowski 28.04.2013, 16:18:49 -------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Odnośnie tych podkreśleń: zdecydowana większość właściwości obiektów jest niepubliczna, stąd wrzucanie tych durnych znaków podkreślenia nie stanowi żadnej wskazówki dla programisty - od tego ma IDE.
Sam projekt, raczej słaby: 1. Brak wsparcia dla Composera; w głównym repozytorium jakieś przykładowe aplikacje - brak możliwości wygodnej aktualizacji FW. 2. Brak jakiejkolwiek współpracy z innymi bibliotekami, poza wspomnianym Bootstrapem Twittera, który nigdy nie powinien się tu znaleźć. Po co wszystko wymyślać koło od nowa, szczególnie gdy jest to kanciaste koło? 3. Kulejący angielski, słabo/nieudokumentowane API. 4. Na pierwszy rzut oka bardzo restrykcyjne wymuszenie szkieletu aplikacji. 5. Kompletnie nieodpowiednie nazewnictwo. Dlaczego w katalogu Bin są zwykłe pliki konfiguracyjne? Klasa Spawn\Math przecież też zbyt wiele wspólnego z biblioteką matematyczną nie ma. Albo klasa Spawn\DI (chyba chodziło o Dependency Injection Container, tak?), która z DICem wiele wspólnego nie ma, a jest zwykłym kontenerem na dane. 6. Nadużywane metod magicznych. 7. Źle używane przestrzenie nazw. Dlaczego klasa Spawn\Acl nie znajduje się w przestrzeni nazw Spawn\Acl? (przy okazji tutaj dobrze widać, dlaczego deweloperzy PHP dali ciała forsując użycie wielkich liter w fragmentach nazw przestrzeni nazw); Zaś sama przestrzeń Spawn to już misz-masz wszystkiego. Dodatkowo mimo wszystko korzystasz z globalnej przestrzeni nazw. 8. Większość "elementów" FW to w zasadzie zwykłe klasy pomocnicze (patrz: Mail, Math, Log, Url, Download itp.) W dodatku większość z nich przez fakt użycia metod statycznych jest mało przydatna. 9. Nie trzymasz się podstawowych reguł tworzenia dobrego kodu, tj. nie korzystasz z interfejsów (interface-based/interface-driven design), nie korzystasz z wstrzykiwania zależności. Przez to praktycznie nie da się ingerować bezkonfliktowo w elementy FW. 10. Nie widzę niczego czym projekt ten miałby wybijać się ponad istniejące rozwiązania (i mówię tutaj raczej o tych z "niższej półki" typu Kohana, CI). Podsumowując: jednak nie "raczej słaby", a po prostu słaby. |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Cytat Nie widzę niczego czym projekt ten miałby wybijać się ponad istniejące rozwiązania (i mówię tutaj raczej o tych z "niższej półki" typu Kohana, CI). Z "niższej półki" czyli małych jeśli dobrze cię rozumiem. Spawn jest pisany jako konkurencja dla CI/KO które od dawien dawna nie spełniają moich oczekiwań. A wybijać ma się tym że ma PSR-0, ułatwia szybkie tworzenie stron dzięki generowaniu modeli dla orm,form,valid,search,datagrid. Sam fakt że posiada datagridy, firewalle itd też wybija go ponad konkurencję. |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jest to oznaczenie wizualne dla programisty że ma do czynienia z właściwością/metodą chronioną lub prywatną, bez pomocy IDE oraz bez patrzenia na jej deklaracje. Tak, bo z reguły jest to takie ważne, a programista jest taki ciemny, że tego nie sprawdzi, tym bardziej że w 90% przypadków i tak wypluje mu błąd, gdy będzie chciał się do takiej metody odwołać. Zresztą, będzie wiedział, że jest prywatna czy chroniona? Bo to przy pisaniu będzie miało większe znaczenie, niż to czy flaga występuje w ogóle, więc Twoim zdaniem jakie powinno być wyróżnienie dla chronionej i osobne dla prywatnej? Dlatego właśnie powstało PSR, aby to regulować i pozbyć się zbędnych śmieci. Ten post edytował !*! 28.04.2013, 20:32:28 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Z "niższej półki" czyli małych jeśli dobrze cię rozumiem. Nie, oznacza to "te słabo napisane". A że większość małych jest przy okazji słaba to się pokrywa.Cytat A wybijać ma się tym że ma PSR-0, ułatwia szybkie tworzenie stron dzięki generowaniu modeli dla orm,form,valid,search,datagrid. PSR-0 jakimś specjalnym osiągnięciem nie jest. Co do reszty z tych komponentów to ORM pracujący na spłaszczonych tablicach (sic!) mówi sam za siebie. Te komponenty nie dają właściwie żadnej elastyczności czy możliwości ingerencji w nie, operują tylko na skranie prostych przypadkach.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 22:05 |