Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Framework] iOculus, Obiektowo zorientowany framework PHP4
Tomasz Janiczek
post 23.01.2007, 03:24:11
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.01.2007
Skąd: Gliwice

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


iOculus

Witam serdecznie wszystkich, jako że to mój pierwszy post na tym forum (acz na pewno nie pierwsze odwiedziny - czytuję już od jakiegoś czasu) i od razu z grubej rury - pozwolę sobie zacytować wstęp z aktualnie tworzonego podręcznika dla projektu iOculus:

What is iOculus?
iOculus is a php framework.

Its purpose is to simplify and speed up the development process of php web
applications (complex websites).
The priorities of iOculus are maximal user (or rather developer) friendliness and high
performance.

The philosophy of the iOculus framework is quite straightforward – you, the developer,
have very little time and very much work. You need a tool that's easy to use, intuitive, fast
(in the meaning of performance and development speed alike) and reliable. You also need a
tool that can be easily extended (has a modular structure) and that doesn't become a one big
proof of the chaos theory after a few months of work with it (it must have clear, solid
internal mechanisms that won't make your code unreadable when your application, with time,
gets bigger and bigger).

You're also a programmer, not a web designer, so you would like a two layer approach –
you take care of the code, but the web designers take care of the visual part
(XHTML/CSS/JavaScript).

iOculus aspires to be such a tool.

Krótka historia
Rozpoczęło się jako prywatna inicjatywa (wynikająca z realnej potrzeby, bynajmniej nie fanaberii) przed okołu dwu laty. Po kilku miesiącach pracy pierwsza wersja została wyrzucona do kosza i robota zaczęła się od nowa. Powstała nowa wersja. I kolejna. I następne.
Około pół roku temu okazało się, że framework może się bardzo przydać przy akademicko-komercyjnym projekcie. Przydał się, zachowując jednocześnie Open Source'owy charakter (na czym osobiście mi zależało). Ale to jeszcze nie to.
iOculus potrzebuje wiele pracy, a przede wszystkim zaangażowania ludzi. Jak boleśnie przekonałem się na własnej skórze, już jakiś czas temu rozwój tegoż projektu przestał być zajęciem możliwym do wykonania dla jednego człowieka.

Najważniejsze cechy
  • przeznaczony dla PHP4 (aczkolwiek logika podpowiada przesiadkę na PHP5 w przyszłości),
  • architektura typu "wariacja na temat" MVC (świadomy wybór),
  • automatyzacja możliwie dużej liczby mechanizmów
Zalety
Nie mnie oceniać, ale Wam (jeśli takowe istnieją rolleyes.gif)

Wady
  • Zaczątki dokumentacji (ok. 20-25 stron),
  • Pewna płynność/niestabilność rozwiązań i API (koncepcje ewoluują, rodzą się i umierają),
  • ... (tutaj Wasze uwagi, konfratrzy po klawiaturze),
Plany na przyszłość
(to jest na wczoraj)
  • Znaleźć developerów z którymi mógłbym rozwinąć w tempie ekspresowym iOculus,
  • Stworzyć w miarę rozsądna merytorycznie i warsztatowo dokumentację (najpierw w języku angielskim, później polskim),
  • Stworzyć witrynę dla projektu (a ściślej - przerobić już istniejący projekt graficzny na stronę - http://mariusztomasz.com/ioculus),
Strona domowa
iOculus na SourceForge

Tamże - nieco rozgrzebana (któż nie zna starej, a ciągle popełnianej głupoty "To nie może tak być, to trzeba poprawić") aplikacja przykładowa, oraz pierwsza wersja dokumentacji (a raczej snapshot wersji roboczej).

Uwagi autora
Moje podejście do wszelkich narzędzi, modeli i architektur jest dosyć despotyczne - to technologia winna się podporządkować człowiekowi, a nie człowiek technologii. Zgodnie z tą maksymą nie traktuję żadnych koncepcji programistycznych jako ostateczne i niezmienne (np. MVC, które w iOculus potraktowałem dosyć swobodnie) i kiedy sądzę, że "tak będzie wygodniej", nie waham się zniszczyć tego, co tak mozolnie propagowały autorytety.
Czy jest w tym szaleństwie metoda i czy po prostu nie piszę totalnych bzdur i głupot rodem z dysków twardych Microsoftu - nie wiem. Sam nie jestem w stanie tego ocenić, dlatego też proszę o taką cenzurkę Was.

Proszę więc o Wasze uwagi, wskazanie dobrych i złych stron takiego a nie innego podejścia, ogólną ocenę framework'a i propozycje dowolnego rodzaju.
Z góry też dziękuję Wam wszystkim.


Ten post edytował Tomasz Janiczek 23.01.2007, 09:28:29
Go to the top of the page
+Quote Post
NuLL
post 23.01.2007, 03:55:44
Post #2





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

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


Cytat
Proszę więc o Wasze uwagi, wskazanie dobrych i złych stron takiego a nie innego podejścia

PHP4 to przezytek 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
itsme
post 23.01.2007, 08:02:52
Post #3





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




Cytat(Tomasz Janiczek @ 23.01.2007, 03:24:11 ) *


Lost on SourceForge.net?

404 Error - Page Not Found

You may have used an outdated link or may have typed the address (URL) incorrectly.


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
Tomasz Janiczek
post 23.01.2007, 09:06:14
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.01.2007
Skąd: Gliwice

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


Prawda, prawda. Przepraszam, literówka. Poprawione.

Cytat
PHP4 to przezytek


Kiedy zaczynałem pisać, PHP5 był jeszcze w powijakach (stabilność, wsparcie w hostingu itp.). Stąd więc wybór. Czy przeżytek - nie wiem, prawdę mówiąc. Różnie ludzie mówią, różnie smile.gif
Ale fakt, przesiadka na PHP5 to kwestia czasu i nie podlega wątpliwości.
Go to the top of the page
+Quote Post
Prph
post 23.01.2007, 09:30:59
Post #5





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Witam,

Nie przegladalem dobrze kodu, ale takie uwagi:

1. PHP4 - najwiekszy minus. Czyta sie troche jak stare Mojavi :/
2. Brak elastycznosci - w kodzie masz jakies warunki, switche (index.php)
3. Faktycznie - MVC traktujesz na luzie winksmiley.jpg Brak Modelu danych, widok jako Smarty.
4. Nie lubie tabulatorow - sa zle. Ale to tylko moje zdanie na ich temat.

To w ogole jest jakas gotowa aplikacja? Widzac jakies moduly (news), ale zeby to odpalic :/

  1. <?php
  2. Fatal error: Call to a member function on a non-object in /home/adrian/public_html/ioculus_0.2-Pre-alpha/htdocs/www/modules/news/php/news.php on line 10
  3. ?>


Pozdrawiam, Adrian.
Go to the top of the page
+Quote Post
Tomasz Janiczek
post 23.01.2007, 09:49:18
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.01.2007
Skąd: Gliwice

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


Cytat
1. PHP4 - najwiekszy minus. Czyta sie troche jak stare Mojavi :/


Prawdę mówiąc chętnie przeskoczyłbym na piątkę, ale kiedy pomyślę ile to pracy będzie wymagało, to mi się odechciewa. Nie z lenistwa, ale z braku czasu niestety...

Cytat
2. Brak elastycznosci - w kodzie masz jakies warunki, switche (index.php)


Prawda. W wersji na której pracuję nie ma już takich smaczków, ale długo były (zgodnie z odwieczną zasadą inżynierską "Jak działa, to nie dotykać" winksmiley.jpg)

Cytat
3. Faktycznie - MVC traktujesz na luzie winksmiley.jpg Brak Modelu danych, widok jako Smarty.


Yep biggrin.gif

Cytat
4. Nie lubie tabulatorow - sa zle. Ale to tylko moje zdanie na ich temat.


Mea culpa. Edytowałem już pod tyloma środowiskami, że aż dziw, że nie wybucha przy otwarciu winksmiley.jpg

Cytat
To w ogole jest jakas gotowa aplikacja? Widzac jakies moduly (news), ale zeby to odpalic :/


Tak - to rozgrzebana i rozbebeszona wersja strony www.egie.pl (co widać po błędach, które cytujesz). Chociaż prawdę mówiąc sprawdzałem pod Apache2, PHP5 (w trybie zgodności) i MySQL na kilku maszynach i w miarę poprawnie działało.
Czy uda się odpalić, czy nie - będę wdzięczny za komentarze ogólnej idei i rozwiązań, w które wszedłem.
Stworzyć ładny instalator i przejść na public release (bo ten aktualny bardzo daleki jest od takiego określenia) to nie problem. Gorzej, jeśli sama koncepcja jest zła.

Ten post edytował Tomasz Janiczek 23.01.2007, 09:51:35
Go to the top of the page
+Quote Post
Prph
post 23.01.2007, 10:14:32
Post #7





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Cytat
Prawdę mówiąc chętnie przeskoczyłbym na piątkę, ale kiedy pomyślę ile to pracy będzie wymagało, to mi się odechciewa. Nie z lenistwa, ale z braku czasu niestety...


Podziwiam programistow obiektowego PHP4. Wersja 5 ma jedno ogromne udogodnienie - przekazywanie do funkcji i zwracanie z funkcji referencji do obiektu. Ciagle & w PHP4 to udreka.

Co do samego frameworka - trudno jest powiedzieć czy jest on dobry, czy nie. Musialbys oddzielic aplikacje od frameworka i przedstawic czysty kod iOculusa. Trudno polapac sie co jest, a co juz nie w projekcie.

Adrian.
Go to the top of the page
+Quote Post
sf
post 23.01.2007, 10:24:50
Post #8





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

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


- nie jest w pełni obiektowo napisane, co to za echo w środku index.php, to powinno być wszystok ubrane w jakiś garniturek, połączone z klasą odpowiedzialną za wyświetlenie danych, u mnie tym się zajmują filtry, pobieranie nazwy akcji i modułu też tak zrobione na sztywno, bez żadnej otoczki
- dołanczasz biblioteki pear i smarty, ale ja mam to zainstalowane to po co mam to dodatkowo ściągać, powinna być osobna paczka z bibliotekami i bez
- config.php taki blah, wole jak konfiguracja to jakiś plik ini, xml, a nie nababrany php i nie wiem czemu część funkcji zakyrawsz małpą
- np. w źródle klasy dziedziczącej po smarty mamy jakiś kod <script>

ogólnie jest dużo takich rozwiązań wydaje mi się amatorskich, wpychania swoich dziwnych rzeczy do kodu


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
Tomasz Janiczek
post 23.01.2007, 10:25:13
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.01.2007
Skąd: Gliwice

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


Cytat(Prph @ 23.01.2007, 10:14:32 ) *
Podziwiam programistow obiektowego PHP4. Wersja 5 ma jedno ogromne udogodnienie - przekazywanie do funkcji i zwracanie z funkcji referencji do obiektu. Ciagle & w PHP4 to udreka.


Podpisuję się wszystkimi kończynami. Niestety.

Cytat
Co do samego frameworka - trudno jest powiedzieć czy jest on dobry, czy nie. Musialbys oddzielic aplikacje od frameworka i przedstawic czysty kod iOculusa. Trudno polapac sie co jest, a co juz nie w projekcie.


Hm, rozumiem. Tyle że wydaje mi się, iż sam fakt istnienia na framework'u aplikacji nie rozmywa ogólnego schematu, zasady działania. Szablony Smarty/CSS/JavaScript to wiadomo - aplikacja. Wytnij treść kodu akcji, a będziesz miał de facto goły framework. PI razy drzwi winksmiley.jpg

Cytat
- nie jest w pełni obiektowo napisane, co to za echo w środku index.php, to powinno być wszystok ubrane w jakiś garniturek, połączone z klasą odpowiedzialną za wyświetlenie danych, u mnie tym się zajmują filtry, pobieranie nazwy akcji i modułu też tak zrobione na sztywno, bez żadnej otoczki


Fakt, pod względem estetyki lepiej zawrzeć całość w jakiejś klasie.
Niemniej tutaj idziemy, moim zdaniem, trochę na wojnę ideologiczną - mechanizm jest be, bo nie ma ładnego wrappera do niego.

Cytat
- dołanczasz biblioteki pear i smarty, ale ja mam to zainstalowane to po co mam to dodatkowo ściągać, powinna być osobna paczka z bibliotekami i bez


Powinna. Usprawiedliwienia nie mam, prócz jednego - time, time, time...

Cytat
- config.php taki blah, wole jak konfiguracja to jakiś plik ini, xml, a nie nababrany php i nie wiem czemu część funkcji zakyrawsz małpą


config.php to nie jest stricte konfiguracja dla programisty - plik jedynie ustala środowisko dla reszty framework'a. W założeniu programista tego nie rusza, tak więc...

Cytat
- np. w źródle klasy dziedziczącej po smarty mamy jakiś kod <script>


Rzuć proszę cytatem - wybacz, że nie poszukam, ale piszę tego posta "na kolanie" w trasie winksmiley.jpg

Cytat
ogólnie jest dużo takich rozwiązań wydaje mi się amatorskich, wpychania swoich dziwnych rzeczy do kodu


Może masz rację. Z drugiej strony - kurczowe trzymanie się tego, co już ktoś wymyślił i dobrze oprogramował (vide choćby Zend Framework) mija się z celem. W mojej skromnej opinii oczywiście.

P.S. Wybaczcie pytanie - polskie ogonki dozwolone? Ciężko wykorzenić stare nawyki, a nie chcę łamać regulaminu itp.

Ten post edytował Tomasz Janiczek 23.01.2007, 10:35:07
Go to the top of the page
+Quote Post
Cysiaczek
post 23.01.2007, 10:59:05
Post #10





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Cytat
[Tue Jan 23 10:30:20 2007] [alert] [client 127.0.0.1] /home/cysio/public_html/ioculus/.htaccess: php_flag not allowed here


No dobra - wiedziony rutyną kukam do pliki INSTALL i... od razu zapomniałem o tym błędzie, bo przeczytałem co następuje:
Cytat
1. Create a MySQL database (you can choose freely its name).

Jest to dla mnie nie do przyjęcia. Powinna być możliwość zainicjowania dowolnej bazy w dowolnym czasie i miejscu. Instalacja nie powinna tego wymagać.

Potem myśli wróciły do logów Indianina na które INSTALL ma odpowiedź, że ta wersja nie może być uruchamiana w podkatalogu.
Dlaczego? Dostanę taką która może? Jakoś nie uśmiecha mi się rozwalanie całej struktury serwera, żeby zobaczyć, czy faktycznie zadziała.

Kod przejrzałem pobieżnie i muszę powiedzieć, że projekt traci bardzo wiele przez php 4. Właściwie wg. mnie to go dyskwalifikuje już na starcie jako platformę do większych niż homepage projektów. To nie moja złośliwość, a permanentny pogląd na tą wersję języka i nowe aplikacje w nim pisane. Obecnie pisząc kod nieśmiało spoglądam na nowinki dotyczące php 6.

Na koniec.
Przyznałeś, że projekt został wyciągnięty z bebechów istniejącej strony www (ładnej zresztą : ), a dlaczego nie ma wersji czystej?
Napisz chociaż jak usunąć to ograniczenie na domenę przy uruchamianiu. : )

Pozdrawiam.

Ten post edytował Cysiaczek 23.01.2007, 10:59:20


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
nrm
post 23.01.2007, 11:59:54
Post #11





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

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


dobrych fw pod php4 jest już sporo, teraz przydało by się coś porządnego pod php5 winksmiley.jpg

uwagi jak kolegów wyżej, ładny projekt strony fw ale nie widzę tutaj żadnych szans powodzenia, i to, że przez sam fakt php4 ale zaczynając od elastyczności a kończąc na małych możliwościach.

ps. może design przekaż kolegom z projektu Rapide biggrin.gif

Ten post edytował normanos 23.01.2007, 12:00:26


--------------------
Go to the top of the page
+Quote Post
sf
post 23.01.2007, 15:23:44
Post #12





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

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


Cytat(Tomasz Janiczek @ 23.01.2007, 10:25:13 ) *
Niemniej tutaj idziemy, moim zdaniem, trochę na wojnę ideologiczną - mechanizm jest be, bo nie ma ładnego wrappera do niego.


Wojnę przegra ten kto będzie miał brzydsze wykonanie winksmiley.jpg Nie jestem zwolennikiem dogłębnego programowania zorientowanego obiektowo, ale uważam, że wszystko da się ładnie zapakować, każdą część. To świadczy o jakości produktu, na tej bazie budujesz sobie markę.

Jest obecnie dużo takich właśnie frameworków jak Ty zbudowałeś, a mało raczej takich porządnych. Raczej mija się z celem bycia podrzędnym, lepiej robić dobrze i być znanym ;] Bo dobrych jest mało tongue.gif Tylko tutaj jeszcze jest kwestia taka, że jak zaczniesz już dobrze robić to żadko chcesz się już tym dzielić z kimś bo zaczynasz po prostu z tego żyć, zarabiać na utrzymanie winksmiley.jpg

Ten post edytował sf 23.01.2007, 22:44:46


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
Tomasz Janiczek
post 23.01.2007, 19:34:58
Post #13





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.01.2007
Skąd: Gliwice

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


Ale z Was, cholera, defetyści. Przez Was zaczynam wierzyć w jedyną słuszną technologię IV RP - PHP5 znaczy się biggrin.gif

Pozwólcie, że odpiszę obszerniej nieco później na powyższe posty, teraz natomiast - wielkie dzięki za Wasze wypowiedzi i opinie. Dały do myślenia, wskazały nowe możliwości. A o to chodziło smile.gif
Go to the top of the page
+Quote Post

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: 13.05.2024 - 06:34