Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [fw] Spawn 2.4
Spawnm
post 27.04.2013, 10:40:18
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.
Go to the top of the page
+Quote Post
!*!
post 27.04.2013, 11:59:55
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).
Go to the top of the page
+Quote Post
mstraczkowski
post 27.04.2013, 14:10:34
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
Go to the top of the page
+Quote Post
Spawnm
post 27.04.2013, 14:34:28
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.
Go to the top of the page
+Quote Post
pyro
post 27.04.2013, 16:27:58
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
Go to the top of the page
+Quote Post
memory
post 27.04.2013, 18:07:00
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.
Go to the top of the page
+Quote Post
Spawnm
post 27.04.2013, 18:59:54
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 biggrin.gif


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 smile.gif
Go to the top of the page
+Quote Post
com
post 27.04.2013, 19:58:16
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 wink.gif Wtedy zarówno laik jak i ktos bardziej doświadczony, któremu przykładowo TB nie przypadł do gustu, z niego skorzysta wink.gif Takie rozwiązanie jak zaproponowałem wypuścił np ZF w wersji 2.x, w sekcji do nauki jest TB( https://github.com/zendframework/ZendSkeletonApplication ), ale oficialna wersja jest jednak bez( https://github.com/zendframework/zf2 ) wink.gif

Ten post edytował com 27.04.2013, 20:04:21
Go to the top of the page
+Quote Post
Spawnm
post 27.04.2013, 20:06:54
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 biggrin.gif
Go to the top of the page
+Quote Post
memory
post 27.04.2013, 20:40:56
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/

Go to the top of the page
+Quote Post
toffiak
post 28.04.2013, 08:15:37
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.


--------------------
Go to the top of the page
+Quote Post
mls
post 28.04.2013, 12:13:05
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... wink.gif Chyba czas, by swoje "dzieło" też wystawić publicznie...


--------------------
Go to the top of the page
+Quote Post
!*!
post 28.04.2013, 12:35:33
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).
Go to the top of the page
+Quote Post
Spawnm
post 28.04.2013, 12:54:55
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 smile.gif

@!*! - 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 wink.gif
Go to the top of the page
+Quote Post
!*!
post 28.04.2013, 14:26:21
Post #15





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(Spawnm @ 28.04.2013, 13:54:55 ) *
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).
Go to the top of the page
+Quote Post
mstraczkowski
post 28.04.2013, 16:12:45
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ń.

Cytat(mls @ 28.04.2013, 13:13:05 ) *
I nienawidzę namespaces... wink.gif

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
Go to the top of the page
+Quote Post
Crozin
post 28.04.2013, 19:39:22
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.
Go to the top of the page
+Quote Post
Spawnm
post 28.04.2013, 20:23:05
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ę.
Go to the top of the page
+Quote Post
!*!
post 28.04.2013, 20:31:01
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).
Go to the top of the page
+Quote Post
Crozin
post 28.04.2013, 21:10:55
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.
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: 12.06.2025 - 22:05