Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> phiend2: reaktywacja
hawk
post 30.05.2005, 18:49:47
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 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ę 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 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
4 Stron V   1 2 3 > »   
Start new topic
Odpowiedzi (1 - 19)
hwao
post 30.05.2005, 19:29:00
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Podepne na jakis czas.
Go to the top of the page
+Quote Post
bela
post 30.05.2005, 20:01:23
Post #3


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


No to się zgłaszam biggrin.gif


--------------------
Go to the top of the page
+Quote Post
Cudi
post 30.05.2005, 21:49:11
Post #4


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

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


Również się zgłaszam smile.gif


--------------------
"Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog
Go to the top of the page
+Quote Post
squid
post 30.05.2005, 21:51:29
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


a jakies wymagania czasowe? bo osobiscie nie wiem ile czasu bede mial ale zalozenia mi sie podobaja, chyba tylko weekendy mi zostaja. Interesuje mnie to czy projekt bedzie caly czas rozwijany czy umrze jak phiend1. Jeszcze to co mnie ciekawi to PEAR, jak sie ma do projektu?

Ten post edytował squid 30.05.2005, 21:53:56


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post
hawk
post 31.05.2005, 09:56:48
Post #6





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

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


Wymagania czasowe: ja mam czasu mało, niestety. To zależy od was. Akurat ten system można budować stopniowo, dodając kolejne klocki. Bardzo szybko można zmontować działającą wersję i potem dodawać funkcjonalność.
Projekt będzie rozwijany, jeżeli nie zabraknie chętnych do współpracy. Jak zabraknie, to skończy się jak phiend1, bo sam nie dam rady.
Co do PEAR: tfu tfu! Chociaż jak ktoś ma jakiś pakiet z PEAR, który chce używać, to nie ma przeszkód. Podobnie jak phiend1, wersja 2 może współpracować praktycznie z wszystkim.
Go to the top of the page
+Quote Post
matid
post 2.06.2005, 17:45:41
Post #7





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

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


Ja też się na to piszę.
Go to the top of the page
+Quote Post
hawk
post 5.06.2005, 20:49:23
Post #8





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

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


Do wszystkich chętnych:
http://barfoo.host.sk/phiend2/phiend2-lib.zip: wiadomo co winksmiley.jpg
http://barfoo.host.sk/phiend2/phiend2-root.zip: nawet jeszcze nie test ani przykład użycia, ale dowód, że to się chociaż parsuje bez błędów
Zasada działania najważniejszego składnika (phiend.mvc) jest z grubsza taka:
PluginLoader jest rejestrem przechowującym pluginy. Plugin to po prostu nazwana klasa; loader go stworzy, kiedy będzie potrzebny, i i usunie pod koniec żądania. Niektóre pluginy są używane tylko wtedy, kiedy akcja po nie poprosi, ale jest kilka szczególnych pluginów, rozpoznawanych po nazwie, które są niezbędne dla działania systemu:
  • controller: wiadomo, kontroler winksmiley.jpg
  • router: też wiadomo...
  • actionFactory: tworzy obiekty akcji
  • configFactory: tworzy konfigurację dla akcji
  • filterChain: zarządza filtrami
Pluginy o takich nazwach muszą być zdefiniowane. A że podać można dowolny obiekt realizujący interfejs... można w prosty sposób wymienić dowolny element systemu, nawet sam kontroler.
Filtry dekorują wywołanie pojedynczej akcji i są dla tego wywołania przezroczyste.
Go to the top of the page
+Quote Post
dr_bonzo
post 5.06.2005, 21:04:00
Post #9





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cosik te linki nie dzialaja.
@hawk: moge je zahostowac --> PW.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Bora
post 5.06.2005, 21:15:16
Post #10





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

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


Oczywiście jak już piałem z chęcią wspomoge ten projekt.
Podobnie jak Open Power Board jest to jeden z ciekawszych.
Go to the top of the page
+Quote Post
squid
post 5.06.2005, 21:17:32
Post #11





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


mnie tez nie dziala, znaczy pobiera 0 bajtow.
Widze ze wiele osob sie do tego garnie wypadaloby soordynowac jakos proace i podzielic sie nia, co myslicie?


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post
Cudi
post 6.06.2005, 16:47:57
Post #12


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

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


Może jakieś spotkanie na IRC'u? Wszystko zależy od hawka, myśle że godzinka wystarczy by nas wprowadzić i jakoś sensowanie rozdzielić pierwsze zadania.


--------------------
"Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog
Go to the top of the page
+Quote Post
sf
post 6.06.2005, 18:25:55
Post #13





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Mam male pytanie OT. Dlaczego zniknol podzial na akcje logiczne i widoku? Czym to zostalo spowodowane? Wydawalo mi sie to rozwiazanie wzorcowe ;\


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
hawk
post 6.06.2005, 19:26:45
Post #14





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

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


Co do linków: ooops, głupi serwer wycina mi pliki zip mad.gif. Ale wpadłem właśnie na genialny w swojej prostocie pomysł: http://phiend.sf.net/misc.

Co do IRC: na razie mam deficyt czasu, i chcę najpierw pokazać kod... ale niedługo zrobię.

Co do akcji logicznych i widoku: i tak, i nie. Nie ma tego w kontrolerze, ale można sobie bardzo szybko sklecić mały filtr, który sprawdzi, czy ($akcja instanceof AkcjaWidoku) i nie pozwoli nic dalej wywołać. A tak jest więcej możliwości. Można nawet przyjąć, że widok jest zupełnie inną klasą wywoływaną przez akcję i zrobić coś w stylu Mojavi, gdzie w ogóle nie ma akcji widoku.
Go to the top of the page
+Quote Post
squid
post 6.06.2005, 19:35:10
Post #15





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


Cytat(NuLL @ 2005-06-06 20:34:13)
Jeśli uda się ustalić jakiś porządek działania smile.gif i kto co ma robić - ja też bym się zgłosił - mam nadzieję, że będzie inaczej niż z THOT'em winksmiley.jpg

Bedzie bo my sie za to bierzemy smile.gif


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post
Coyote
post 7.06.2005, 23:03:44
Post #16





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


hm... sorki ze moze glupie pytanko ... ale co to wlasciwie jest questionmark.gif
bo nie za bardzo czaje ....


--------------------
Go to the top of the page
+Quote Post
NuLL
post 7.06.2005, 23:37:48
Post #17





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


@Coyote - Framework czyli swoisty szkielet do budowania aplkacji smile.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Coyote
post 8.06.2005, 22:36:12
Post #18





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


a dzieki ale i tak nie bardzo czaje smile.gif
byl bym wdzieczny za jakis przyklad albo cus winksmiley.jpg (najlepiej polski biggrin.gif)

Ten post edytował Coyote 8.06.2005, 22:36:52


--------------------
Go to the top of the page
+Quote Post
NoiseMc
post 8.06.2005, 22:44:35
Post #19





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


Mam już źródła ale prawe mówiąc nie bardzo wiem jak to ugryźć i od czego zacząć. Jest jakiś podział prac ?

Ten post edytował NoiseMc 8.06.2005, 22:45:26


--------------------
Go to the top of the page
+Quote Post
squid
post 9.06.2005, 09:04:01
Post #20





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


Cytat(NoiseMc @ 2005-06-08 23:44:35)
Mam już źródła ale prawe mówiąc nie bardzo wiem jak to ugryźć i od czego zacząć. Jest jakiś podział prac ?

sek w tym ze nie ma


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post

4 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: 27.05.2024 - 03:55