Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady panujące na forum News

1. Posty w tym forum są poddawane moderacji więc nie dodawaj ich kilka razy.
2. Akceptujemy tylko wartościowe wiadomości o php lub pochodnych
3. Publikacja newsa na wortalu po moderacji oscyluje w granicach 30min
4. Wstawiane grafiki powinny mieć maksymalną szerokość 357px

Zapraszamy do uzupełniania wortalu o ciekawe informacje :)

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> Spawn Framework 1.2.6 wydany!
Spawnm
post 13.09.2010, 13:21:43
Post #1





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Dziś ukazała się nowa wersja popularnego frameworka dla programistów php Spawn Framework o numerze 1.2.6.

Najważniejsze zmiany:

Nowa klasa - sf_translate !

Dodane nowe metody dla sf_acl:

* inherit($name, $inherit)
* getGroupRole($name)
* getRole()
* removeGroupRole($name, $role)
* removeGroup($name)
* removeRole($name)
* getGroup()
* groupIsset($name)


Modyfikacja sf_auth -
dodanie nameIsset(),
rozbudowa konfiguracji.

sf_db , sf_orm - dodanie getParam()
sf_view - dodanie replace().
Dodatkowo - optymalizacja kodu, poprawa kilka niedociągnięć :-)

Najnowszą wersję można pobrać z http://spawnframework.com/download
Go to the top of the page
+Quote Post
wookieb
post 13.09.2010, 13:24:23
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Czy inherit w Acl działa "live" tzn jeżeli
B dziedziczy po A
to czy po zmianie uprawnień A uzyska je ODRAZU B?


--------------------
Go to the top of the page
+Quote Post
phpion
post 13.09.2010, 13:43:46
Post #3





Grupa: Moderatorzy
Postów: 6 066
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Tak z czystej ciekawości: przeglądam dokumentację Spawn Framework i odczuwam dość mocne wpływy Kohany. Dobrze odczuwam? smile.gif
Go to the top of the page
+Quote Post
Spawnm
post 13.09.2010, 14:05:17
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




@wookieb - inherit(a, cool.gif dziedziczy z b wszystkie role z chwili wywołania , jeśli już po inherit zajdą jakieś zmiany na b , a tego nie odczuje.

@phpion - np? W czasie pisania fw przeglądałem kilka innych fw szukając inspiracji , pewnie i jakieś rozwiązania z kohany mogłem dodać u siebie bo uznałem że są ok.(ale na pewno nie pod względem budowy kodu bo ten w ko jest chwilami bardzo słabej jakości tongue.gif )

Go to the top of the page
+Quote Post
wookieb
post 13.09.2010, 14:07:04
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(Spawnm @ 13.09.2010, 15:05:17 ) *
@wookieb - inherit(a, cool.gif dziedziczy z b wszystkie role z chwili wywołania , jeśli już po inherit zajdą jakieś zmiany na b , a tego nie odczuje.

Szczerze? To wolałbym, żęby taki INHERIT został zrobiony na poziomie interfejsu niż w php, ponieważ nie ma to sensu.


--------------------
Go to the top of the page
+Quote Post
Spawnm
post 13.09.2010, 14:10:18
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Hmm przemyślę to co mówisz smile.gif
Go to the top of the page
+Quote Post
skowron-line
post 13.09.2010, 14:26:53
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(Spawnm @ 13.09.2010, 13:21:43 ) *
popularnego frameworka

Popularny to jest Zend, Kohana, Cake, ty lepiej wpisz "autorskiego frameworka" bo jeżeli miarą popularności jest liczba pobrań to wiedz że ludzie chcą wniknąć w kod, i podejrzewam że niewiele (jeśli wogóle są) jest projektów z jego wykorzystaniem napisanych (pewnie twoje są).

No ale oby tak dalej bo idzie w dobrą stronę guitar.gif


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Spawnm
post 13.09.2010, 14:39:43
Post #8





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




skowron-line - wiadomo że nie tak popularnego jak zend. A to że jest jakaś popularność oceniam po google analytics oraz prywatnych korespondencjach.
Go to the top of the page
+Quote Post
marcio
post 13.09.2010, 14:40:22
Post #9





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


@skowron-line to samo chcialem mu napisac ale zostawilem dla siebie ta uwage.

Tak ogolnie to obrazisz sie jak porzycze sobie twoja klase do Acl oczywiscie w pliku bedzie napisane ze to twoja klasa, obrazisz sie?Bo nie chce mi sie kodu klepac.

Ja moge polecic: http://redmine.boduch.net/projects/coyote/repository i tam samo CMF postawionym na tym fw, zajebista sprawa!Inne popularne fw maja chyba na noc ;]


--------------------
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
Spawnm
post 13.09.2010, 14:42:55
Post #10





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(marcio @ 13.09.2010, 15:40:22 ) *
Tak ogolnie to obrazisz sie jak porzycze sobie twoja klase do Acl oczywiscie w pliku bedzie napisane ze to twoja klasa, obrazisz sie?Bo nie chce mi sie kodu klepac.


Spoko, pożyczaj smile.gif
Go to the top of the page
+Quote Post
Crozin
post 13.09.2010, 16:45:21
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@marcio: http://spawnframework.com/license
O ile będziesz przestrzegać zapisów w tej prostej licencji, nie musisz prosić autora o zgodę, może się on na Ciebie obrazić - i tak Ci nie będzie mógł zabronić korzystania z tego. winksmiley.jpg
Go to the top of the page
+Quote Post
phpdev
post 18.09.2010, 18:12:29
Post #12





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.12.2009

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


Cytat(Spawnm @ 13.09.2010, 14:21:43 ) *
Dziś ukazała się nowa wersja popularnego frameworka



Hehehe aaevil.gif. Panie moderatorze, czyżby nie nazbyt naciągnięta opinia ? tongue.gif
Go to the top of the page
+Quote Post
Spawnm
post 18.09.2010, 18:48:49
Post #13





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Czy ja przypadkiem 4 posty wyżej nie wyjaśniałem kwestii popularności tego fw?
Go to the top of the page
+Quote Post
wookieb
post 18.09.2010, 19:22:24
Post #14





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Hehe smile.gif Sława uderzyła do glowy tongue.gif
Nie no żartuje smile.gif
Co Cię skłoniło do "upublicznienia" swojej pracy?


--------------------
Go to the top of the page
+Quote Post
marcio
post 18.09.2010, 19:57:04
Post #15





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(wookieb @ 18.09.2010, 20:22:24 ) *
Hehe smile.gif Sława uderzyła do glowy tongue.gif
Nie no żartuje smile.gif
Co Cię skłoniło do "upublicznienia" swojej pracy?

Kurde tez bym pokazal swoje dzielo, tak zeby poschulas opini innych czy fajne sa moje rozwiazania itp..itd...
Kod jednak w wielu miejscach nie jest zbyt piekny, calosc chodzi pieknie i wedlug ma troche wiecej mozliwosci rozbudowy, jesli chodzi o komponenty itp...
Moze jak skoncze pochwale sie ;p


--------------------
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
wookieb
post 18.09.2010, 20:16:20
Post #16





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Mam mieszane uczucia co do upubliczniania swoich prac z tego względu, że ocena "dzieła" nigdy nie będzie prawdziwie miarodajna.
Podam przykład. Spotkałem się z przypadkiem wyboru uploadera flashowego.
Jednym z kryteriów wyboru było "ilość wyników w google" - google trends i jazda. Wybór padł na swfupload i co? Okazało się, że jest w nim jeden zajebiście duży błąd a mianowicie
handler obsługujący zdarzenie onUploadError jako trzeci parametr powinien przekazać KOMUNIKAT zwrócony z serwera a zwraca status http (czyli zawsze 500) i do tej pory ten błąd nie jest poprawiony.
Jak to możliwe?
A teraz zapytaj na naszym forum o dobry uploader flashowy to spotkasz się odpowiedzią "SWFUpload" pomimo tego, że jest wiele innych lepszych uploaderów. Pomijam kwestię, że uploader w stylu SWFUpload jest... ośmieszającym podejściem do tematu.

Dla mnie osobiście "produkt" spawn'a nie jest rewelacją. Nie podoba mi się, mam inny "gust" programistyczny i nawet gdyby był dobry to mało kto dostrzegłby jego wartość. Takie jest moje zdanie.

@SPAWN mam nadzieję, że kiedyś znajdę czas aby opisać co mi nie pasuje w twoim FW.

Ten post edytował wookieb 18.09.2010, 20:21:10


--------------------
Go to the top of the page
+Quote Post
Spawnm
post 18.09.2010, 21:03:30
Post #17





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(wookieb @ 18.09.2010, 21:16:20 ) *
Mam mieszane uczucia co do upubliczniania swoich prac z tego względu, że ocena "dzieła" nigdy nie będzie prawdziwie miarodajna.

Jeśli chodzi o upubliczniania swoich prac.
Idąc tropem że open-source jest be dzisiaj mieli byśmy monopol m$ i jechali byśmy na ręcznym(bez fw typu zend) w php ... a nie , php jest open-source ...

Cytat
Dla mnie osobiście "produkt" spawn'a nie jest rewelacją. Nie podoba mi się, mam inny "gust" programistyczny...

Masz prawo mieć własny gust , nie podoba ci się Spawn możesz wybrać coś innego lub napisać własne fw. Kto powiedział że mój fw ma się podobać wszystkim winksmiley.jpg
Jednak jeśli w wolnej chwili wymienisz główne elementy tego fw które cię do niego zniechęcają będe wdzięczny. Może dzięki temu z czasem mój fw stanie się jeszcze lepszy.

Co do "mało kto dostrzegłby jego wartość." to czas mi pokazuje że coraz więcej osób rezygnuje z kohany na rzecz spawna , tyczy się to zwłaszcza osób które dopiero wchodzą w świat frameworków i zawiodły się na Ko. Czyli mojemu fw potrzebny jest czas aby 'ktoś' dostrzegł jego wartość.

Cytat
@SPAWN mam nadzieję, że kiedyś znajdę czas aby opisać co mi nie pasuje w twoim FW.

Aż tyle tego winksmiley.jpg No spoko, chętnie poznam twoją opinię na temat poszczególnych elementów mojego fw, priv zawsze czysty jak coś smile.gif


Go to the top of the page
+Quote Post
wookieb
post 18.09.2010, 22:19:42
Post #18





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No i nadeszła chwila prawdy tongue.gif
Na początek przyznam, że nie czytałem dokumentacji.
Skupiłem się tylko i wyłącznie na kodzie, poprawności napisania, łatwości użytkownika, szukania pułapek dla programisty.
Zaczynamy:

- Jaka jest różnica między plikami .phtml a .html w szablonach? Dlaczego nie może być jednego rozszerzenia?
-
  1. defined('SPAWNM') OR die('No direct access allowed.');
Takie coś robi się za pomocą .htaccess (tak jak to masz w library/sf/cache) albo umieszczenie plików poza katalogiem www
- Podoba mi się, że używasz standardowych szablonów korzystając z czystego .php ale niestety składnia jaką się posługujesz powinna być inna (jak dla mnie bardziej czytelna) w stylu
  1. <?php if(true) : ?>
  2. <?= $zmienna ?>
  3. <?php endif; ?>

- Co to za pusty bootstrap?

- sf_acl - Żadna klasa, która ma wpływ na system NIE MOŻE być klasą statyczną. Wywal statici. Jeżeli ktoś będzie chciał, użyć Acla w stylu "statycznym" użyje Rejestru. Uwaga tyczy się reszty statycznych klas, mających wpływ aplikację. Narzucasz użytkownikowi pewną "konieczność", która jest zła.
- Gdzie są testy jednostkowe?
- Singleton z registry smile.gif Śmieszna i wybuchowa mieszanka tongue.gif
- sf_session::deleteAll - Naprawdę nie prościej jest zrobić?
  1. $_SESSION = array();


- Skalowalność sesje, cache itd a właściwie jej brak
- Masz zły phpdoc
Kod
@param - string - captcha name to valid

Powinno być
Kod
@param string $name

- Brak phpdoca dla właściwości klas - szczerze to prawie cały jest do zmiany
sf_captcha : 16 - nie wiem co to za obiekt.
- controller.php : 88 getAction
Dla mnie mały "bałagan". Dlaczego metoda kontrolera może tworzyć inne kontrolery i pobierać od nich akcje? Czy nie powinno się to dziać w frontControlerze (którego chyba nie masz)?
- Klasa Date - naprawdę DateTime wbudowany natywnie w php jest wystarczający smile.gif

- Db - wspomnę jeszcze raz, że statyki nie mogą mieć wpływu na system. W tej klasie jedyną metodą statyczną jaka powinna mieć miejsce to "poCoszukaszTutajStatic"
- Exception : 21 - chyba nie ma klasy sf_filtr
- Form poległ na całej linii - polecam spojrzeć jak działają klasy formularzy w innych fw np w Zendzie
- sf_html - Po co takie klasy w kodzie? smile.gif Ale tak szczerze. Zbyt wiele nie ułatwiają a czasem są kompletnie nieprzydatne.
- sf_image - typ obrazka sprawdzamy za pomocą FileInfo z tego względu, że get imagesize można dość łatwo oszukać
- sf_image::trueResize - w temacie OFFTOP podałem ciekawszą metodę obliczania nowych rozmiarów zdjęć
- sf_jquery - Jak już to do tego celu służa helpery w szablonach
- sf_math - służy jedynie dla przeliczania kolorów więc nazwa jest myląca. Dlaczego by nie przenieść do sf_colortransform?
- na temat modelu i orm się nie wypowiadam bo to bardzo śliski temat
- sf_pager podaj przykład paginacji na rekordach. Chyba nie obejdzie się bez ręcznego klepania?
- sf_request - dlaczego ludzie filtrują dane na samym wstępie aplikacji zamiast po prostu wtedy kiedy potrzebują?
- class sf_template extends sf_controller - o nie nie panie. Logicznie te klasy nie mogą mieć ze sobą nic wspólnego ponieważ realizują kompletnie 2 różne funkcjonalności
- sf_translate::_loadTranslate - obsługę różnych formatów robi się za pomocą adapterów albo rozszerzeń klasy bazowej
- sf_upload : 147
  1. if( isset($this->_img->sevaFileName) ) $newFileName = $this->_img->sevaFileName;

sevaFileName? W klasie sf_image nie ma takiej właściwości.
- gdzie repozytorium dla projektu? Chociażby GitHub
Podsumowanie
Wydaje mi się, że nie projektowałeś tego FW tylko pisałeś na żywioł. Brak testów jednostkowych powoduje, że twojemu FW nie można po prostu ufać.
Jest kompletnie nieskalowalny i nie założyłeś możliwości bardziej zaawansowanego użycia. Przykładowo nie mogę zmienić mechanizmu przechowywania sesji na memcache albo coś innego, ale przypadków jest oczywiście znacznie więcej.
Oczywiście nie mówię aby system był w stanie obsłużyć wszystko, ale ty powinieneś dać możliwość łatwego rozszerzenia jego funkcjonalności. Aktualnie jest to niezwykle trudne (czytaj nieskalowalne).
W skrócie system był dobry parę lat temu ale nie na te czasy.

A teraz plusy
- prefixy klas - prawidłowo sf_*, controller_*
- method chaining
- brak statycznego sf_translate smile.gif
- ogólnie bardzo prosty w użyciu
- ... staram się szukać czegoś na siłe ale to chyba tyle sad.gif


--------------------
Go to the top of the page
+Quote Post
Spawnm
post 19.09.2010, 10:29:50
Post #19





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat
- Jaka jest różnica między plikami .phtml a .html w szablonach? Dlaczego nie może być jednego rozszerzenia?

Może, standardowo ładuje .phtml .
Rozdzielanie na .phtml i .html ma informować o treści szablonu - .phtml - html z php , .html czysty html
Oczywiście możesz wszystko ładować tylko do .phtml

Cytat
- Co to za pusty bootstrap?

plik dla programisty oddzielający jego skrypty od spawnowych, dajesz tam np. translateUri

Cytat
- sf_acl - Żadna klasa, która ma wpływ na system NIE MOŻE być klasą statyczną. Wywal statici. Jeżeli ktoś będzie chciał, użyć Acla w stylu "statycznym" użyje Rejestru. Uwaga tyczy się reszty statycznych klas, mających wpływ aplikację. Narzucasz użytkownikowi pewną "konieczność", która jest zła.

Hmm tak powiadasz winksmiley.jpg Przemyślę.

Cytat
sf_session::deleteAll - Naprawdę nie prościej jest zrobić?
...

I tak zrobię, dzięki :-)

Cytat
- Form poległ na całej linii - polecam spojrzeć jak działają klasy formularzy w innych fw np w Zendzie

Mocno przesadzasz, ale to pewnie kwestia gustu.

Cytat
- sf_pager podaj przykład paginacji na rekordach. Chyba nie obejdzie się bez ręcznego klepania?

  1. $pager=new sf_pager(array(
  2. 'total'=>sf_orm::factory('news')->count(),
  3. 'limit'=>5
  4. ));
  5. $news=sf_orm::factory('news')->findAll( $pager->offset(), 5);
  6. foreach($news as $key){
  7. echo $key->title.'<br/>';
  8. }
  9. echo $pager->render();


Cytat
sevaFileName? W klasie sf_image nie ma takiej właściwości.

Hmm gdzieś musiało mi się coś pomieszać, poprawię winksmiley.jpg

Cytat
A teraz plusy
- ogólnie bardzo prosty w użyciu

Przejrzyj dokumentację a może stanie się jeszcze prostszy oraz chociaż częściowo zmienisz zdanie o niektórych klasach.
Go to the top of the page
+Quote Post
Crozin
post 19.09.2010, 11:52:44
Post #20





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
czas mi pokazuje że coraz więcej osób rezygnuje z kohany na rzecz spawna
Mam prośbę: źródło.
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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: 2.12.2020 - 00:59