Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> phiend2: reaktywacja
hawk
post
Post #1





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


Jak niektórzy zapewne wiedzą, od dłuższego czasu pracuję nad phiendem 2. Niestety, po n-tym refactoringu i pisaniu wszystkiego od nowa jestem tym trochę zmęczony i raczej nie wydam tego kiedykolwiek o własnych siłach. Za to kod, który jest już napisany, bardzo mi się podoba i szkoda go marnować.

Więc poszukuję ludzi do współpracy.

Główne założenia:
  • Napisany pod PHP5 i bardzo, bardzo obiektowo. Znacznie bardziej niż stary phiend. Co oznacza, że jest więcej klas, ale mniejszych.
  • Oparty o interfejsy. Prawie wszystko można sobie wymienić na własnoręcznie napisaną klasę, jeżeli tylko ma taki sam interfejs.
  • Rozwijany metodą małych kroczków. Zamiast wielkiego frameworka wg zasady wszystko-albo-nic, zbiór komponentów, z których większość jest opcjonalna albo może być używana niezależnie.
Poza samym MVC trzonem projektu są 3 kawałki kodu:
  • phiend.autoloader: autoloader (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
  • phiend.handle: zestaw klas do obsługi handles (trochę jak w WACT, służy do przekazywania referencji do obiektu bez tworzenia samego obiektu, kiedy nie jest jeszcze potrzebny)
  • phiend.context: zbiór klas do obsługi całego request, response i sesji, trochę podobne do rozwiązania z Jav
Oprócz tego napisałem jeszcze bardzo fajny error handler, ale w odróżnieniu od phiend1 nie jest on częścią frameworka. Bo niby dlaczego MVC ma wymagać konkretnego error handlera?
Co do samego MVC, kilka słów:
  • Front Controller (chociaż wymienialny; źródło jego konfiguracji: dowolne)
  • Intercepting Filter (w postaci dekoratora na każdą akcję i w stylu javovym na cały request)
  • żądanie przechodzi przez router, więc schemat URLi jest dowolny
  • bez podziału na akcje i widoki, akcje można łączyć w łańcuch jak w phiendzie 1
  • Akcje mają konfigurację; źródło tej konfiguracji: dowolne
  • Ważne moduły (np. połączenie z DB, autoryzację) można podpiąć jako tzw. pluginy: system sam je skonfiguruje, uruchomi kiedy trzeba i zamknie na koniec
Kogo szukam?
  • Ludzi, którzy sami potrafią zrozumieć kod, bo dokumentacji nie ma
  • Ludzi, którzy lubią pisać dokumentację (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) , zwłaszcza tutoriale dla newbies, bo ja do tego nie mam serca i nigdy mi nie wychodzi
  • Ludzi, którzy znają się na unit testach (dokładnie: SimpleTest), bo ja niestety nie i bardzo tego żałuję
  • Ludzi, którzy chcą się skupić na jednym komponencie i dopracować go do końca
  • Kogoś, kto mógłby w miarę postępu stworzyć nie przyprawiającą o mdłości stronę na SF
  • Special request: Kogoś, kto np. zna Mojavi i chciałby zrobić w phiend2 jego emulator - IMHO wyjdzie szybciej, prościej i w ogóle lepiej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
* więcej informacji w miarę wolnego czasu
** jeżeli temat tutaj nie pasuje, można śmiało przenosić


Ten post edytował hawk 30.05.2005, 20:02:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hawk
post
Post #2





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

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


Mam wrażenie , że reaktywacja zakończyła się totalną klapą, i coraz bardziej mnie to wkurza. Czemu?

Teraz każdy pisze swój framework. Nieważne po co, nieważne w czym ma być lepszy niż inne - ma być i koniec. Z tego powodu przestałem lubić słowo "framework". I phiend2 nie jest frameworkiem. Jest czymś w rodzaju WACT, przynajmniej w teorii. W praktyce WACT jest właśnie frameworkiem. Bardzo dobrym, ale nie rozumiem, dlaczego dlaczego muszę używać ich error handlera razem z ich szablonami. Framework == wszystko w jednym, bierzesz całość albo nic. A nazwa WACT sugeruje coś innego - Component Toolkit, czyli zbiór komponentów do wykorzystania w swoich projektach. W tym i w swoich frameworkach, jeżeli ktoś musi mieć własny.

Ale miało być o phiend2, nie o WACT. To, co na początku było frameworkiem o nazwie phiend2, zostało podzielone na szereg pakietów o nazwach phiend.cośtam. Nie dlatego, żeby więcej razy występowało słowo "phiend", tylko dlatego, żeby nie robić z tego wielkiego frameworka, tylko zbiór praktycznych komponentów. Które pasują do siebie i wykorzystują się nawzajem, ale mogą być stosunkowo łatwo używane w innych projektach.

I co z tego wyszło? Po pierwsze, ludzie, którzy deklarują chęć pomocy, ale nie potrafią zrobić coś konkretnego. OK, zdaję sobie sprawę, że tworzenie takich komponentów to trudna sprawa. Kod własnego frameworka można sobie pisać, jak się komu podoba. Kod wielokrotnie używanej (w zamierzeniu) biblioteki musi być dopracowany i optymalny. Ale jeżeli miałbym najpierw tłumaczyć szczegółówo, o co chodzi, pokazywać jakąś dokumentację, diagramy, itd., to mi się to nie opłaca, bo szybciej sam bym zrobił co trzeba. Tak naprawdę potrzeba mi nowych pomysłów i krytycznego spojrzenia, a nie przypominam sobie, żeby ktokolwiek wskazał jakieś ulepszenie albo wskazał konkretny fragment, który mu się nie podoba.

Po drugie, najważniejsze, mam wrażenie że nikt nie chce brać w tym udziału. Dostałem już sporo PW w stylu "podoba mi się pakiet phiend.cośtam, czy mogę wykorzystać twój kod w swoim frameworku?". Przecież to jest bez sensu! Gdyby ktoś mi napisał, że podoba mu się pewne rozwiązanie, ale nie może zastosować całości, ponieważ ma inne (jakie?) wymagania, to rozumiem. Ale jak komuś się podoba jakiś komponent, to należy go wykorzystać, a nie przepisywać od nowa. Na tym polega istota komponentu. Reużywalność, a nie copy-paste.

W php najbardziej zniechęca mnie to, że bardzo mało jest reużywalności. Każdy framework jest niezależny. Każda biblioteka niekompatybilna z innymi. No prawie. Ręce mi opadają, jak widzę, że np. Mojavi zawiera własny driver do bazy danych, WACT też, itd, itd. Ja mogę o swoim kodzie powiedzieć, że albo jest wymyślony od początku przeze mnie, albo zaczerpnąłem pomysł od kogoś innego, ale przynajmniej mogę uzasadnić, dlaczego musiałem napisać go od nowa. Np. phiend.handle inspirowany jest klasą Handle z WACT, ale po pierwsze implementacja jest inna, a po drugie autorzy uparli się, że nie można używać klasy Handle bez ich szablonów. A cała ta reaktywacja phiend2 skończy się pewnie tym, że phienda2 jak nie było, tak nie będzie, ale za to będziemy mieli kilkanaście frameworków zawierających przypadkowo wyrwane fragmenty kodu, nijak nie pasujące do siebie nawzajem.
Go to the top of the page
+Quote Post

Posty w temacie
- hawk   phiend2: reaktywacja   30.05.2005, 18:49:47
- - hwao   Podepne na jakis czas.   30.05.2005, 19:29:00
- - bela_666   No to się zgłaszam   30.05.2005, 20:01:23
- - Cudi   Również się zgłaszam   30.05.2005, 21:49:11
- - squid   a jakies wymagania czasowe? bo osobiscie nie wiem ...   30.05.2005, 21:51:29
- - hawk   Wymagania czasowe: ja mam czasu mało, niestety. To...   31.05.2005, 09:56:48
- - matid   Ja też się na to piszę.   2.06.2005, 17:45:41
- - hawk   Do wszystkich chętnych: http://barfoo.host.sk/phie...   5.06.2005, 20:49:23
- - dr_bonzo   Cosik te linki nie dzialaja. @hawk: moge je zahost...   5.06.2005, 21:04:00
- - Bora   Oczywiście jak już piałem z chęcią wspomoge ten pr...   5.06.2005, 21:15:16
- - squid   mnie tez nie dziala, znaczy pobiera 0 bajtow. Widz...   5.06.2005, 21:17:32
- - Cudi   Może jakieś spotkanie na IRC'u? Wszystko zależ...   6.06.2005, 16:47:57
- - sf   Mam male pytanie OT. Dlaczego zniknol podzial na a...   6.06.2005, 18:25:55
- - hawk   Co do linków: ooops, głupi serwer wycina mi pliki ...   6.06.2005, 19:26:45
- - squid   Cytat(NuLL @ 2005-06-06 20:34:13)Jeśli uda si...   6.06.2005, 19:35:10
- - Coyote   hm... sorki ze moze glupie pytanko ... ale co to w...   7.06.2005, 23:03:44
- - NuLL   @Coyote - Framework czyli swoisty szkielet do budo...   7.06.2005, 23:37:48
- - Coyote   a dzieki ale i tak nie bardzo czaje byl bym wdzie...   8.06.2005, 22:36:12
- - NoiseMc   Mam już źródła ale prawe mówiąc nie bardzo wiem ja...   8.06.2005, 22:44:35
- - squid   Cytat(NoiseMc @ 2005-06-08 23:44:35)Mam już ź...   9.06.2005, 09:04:01
- - hawk   Dopominacie się podziału prac, więc należy się wam...   12.06.2005, 22:05:12
- - NuLL   Lekki OT. A czy nie lepiej jest napisać plug-in pr...   12.06.2005, 22:57:33
- - hawk   Hmm... napisać się na pewno da. Myślisz, żeby wywa...   13.06.2005, 08:26:21
- - kubatron   hawk: mam takie pytanie, czy nie lepiej byłoby pog...   14.06.2005, 11:34:59
- - Cudi   Jeśli chodzi o serwer z php 5 to na dotgeek.org je...   14.06.2005, 15:35:15
- - squid   Cytat(Cudi @ 2005-06-14 16:35:15)Jeśli chodzi...   14.06.2005, 20:58:32
- - bela_666   @squid, tylko czy na sf.net jest php5   14.06.2005, 21:11:34
- - dr_bonzo   Ale do przechowywania zip'ow nie potrzeba chyb...   14.06.2005, 21:40:21
- - Cudi   Na sf.net (jeszcze) nie ma php 5 (i nie wiadomo ki...   15.06.2005, 20:24:47
- - hawk   Hmm, mamy na razie serię postów o hostingu PHP5, k...   20.06.2005, 11:47:18
- - Cudi   W tym tygodniu jestem bardzo zajęty i będzie ciężk...   20.06.2005, 17:23:38
- - squid   Osobiscie dreczy mnie sesja egzaminacyjna wiec dop...   20.06.2005, 19:01:19
- - Diablos   A co to jest ten phiend i do czgo sluzy ?   22.06.2005, 23:07:32
- - kubatron   http://www.google.pl/search?hs=AK2&hl=pl&c...btnG=...   23.06.2005, 10:11:05
- - aleksander   ja mam kilka pytan dot. phienda2: 1. Czy HttpCont...   20.07.2005, 11:56:10
- - hawk   Mam wrażenie , że reaktywacja zakończyła się total...   20.07.2005, 12:52:56
- - aleksander   ok więc moja pierwsza uwaga co do phienda2: mianow...   20.07.2005, 14:38:07
- - matid   A IMO brakuje temu wszystkiemu trochę organizacji....   20.07.2005, 15:07:17
- - aleksander   hawk napisał już co trzeba zrobic, zrodła są to na...   20.07.2005, 15:25:29
- - squid   Cytat(aleksander @ 2005-07-20 16:25:29)hawk n...   20.07.2005, 15:39:49
- - chmolu   Hawk: Phiend to naprawdę świetny kawałek kodu, dob...   20.07.2005, 16:30:38
- - matid   A co do innych zastrzeżeń: phiend.context Przy tw...   20.07.2005, 18:10:12
- - squid   wg mnie nie jest tak zle Oczywiscie ze nie wszys...   20.07.2005, 18:11:58
- - hawk   Uff! Ale przynajmniej coś się ruszyło w temaci...   21.07.2005, 14:05:42
- - aleksander   Cytat(hawk)Intercepting Filter (w postaci dekorato...   26.07.2005, 16:40:50
- - Neotion   moge się dołączyć jako dokumentator i torche moge ...   5.08.2005, 16:02:24
- - matid   Cytat(aleksander @ 2005-07-26 17:40:50)UPDATE...   5.08.2005, 16:30:39
- - aleksander   Cytat(matid @ 2005-08-05 17:30:39)Cytat(aleks...   5.08.2005, 16:34:29
- - matid   Cytat(aleksander @ 2005-08-05 17:34:29)yyyyy ...   5.08.2005, 18:27:49
- - aleksander   ja pomyslalem o czym takim: [PHP] pobierz, plainte...   5.08.2005, 18:31:10
- - squid   [PHP] pobierz, plaintext <?phpclass XmlConfigur...   8.08.2005, 16:43:29
- - hawk   Błąd, jak najbardziej błąd. A było to tak: dawno, ...   8.08.2005, 21:17:57
- - aleksander   czekamy hawk, czekamy... UPDATED: swoja droga, gd...   31.08.2005, 16:07:36
- - Strzałek   Mogę sie oczywiście mylić, ale przecież można zrob...   11.09.2005, 07:19:19
- - bela_666   blad w HandleFactory argument to $mClass, a ...   2.10.2005, 22:19:23
- - hwao   Cytat(bela_666 @ 2005-10-02 23:19:23)hawk po ...   3.10.2005, 06:12:35
- - aleksander   jest[PHP] pobierz, plaintext <?phpclass SimpleO...   29.10.2005, 15:12:18
- - anas   Hej. Można gdzieś przejrzeć kod phiend'a v2? ...   8.12.2005, 23:49:13
- - aleksander   prom Cie bardzo:) www.alek.ltd.pl/phiend2.zip   9.12.2005, 22:31:19
- - hawk   Jak zapewne zauważyliście, długo mnie tutaj nie by...   14.12.2005, 16:48:08
- - chfast   Na CVS są chyba jedynie pliki sprzed pół roku? Moż...   14.12.2005, 18:12:57
- - aleksander   proponowałbym przeniesienie kodu pod patronat php....   14.12.2005, 20:16:04
- - chfast   Cytat(aleksander @ 2005-12-14 20:16:04)propon...   14.12.2005, 20:36:01
- - aleksander   chodzi mi o to żeby np hawk przekazał projekt jedn...   14.12.2005, 22:32:46
- - ..:: pingu ::..   ja sie zapoznaje z tym projektem: jedno mi jest ...   7.01.2006, 14:17:30
- - bela_666   pingu, popatrz na interfejs IHttpRequest   7.01.2006, 14:50:38
- - ..:: pingu ::..   hehe, no patrz nie sadzilem ze tak mozna Mi sie ...   7.01.2006, 15:00:25
- - Strzałek   Stuk, puk? Czy projekt jeszcze żyje?   11.03.2006, 20:41:51
- - HaRy   chyba nie, a szkoda...   31.03.2006, 07:40:38


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 Aktualny czas: 7.10.2025 - 04:39