Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> FRAMEWORK [MVC] MOJAVI
kamiox
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 13.10.2003
Skąd: Małopolska

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


Mam pytanie do Was drodzy forumowicze. Czy może korzystacie przy budowie własnych aplikacji z frameworka Mojavi ?
Bo chciałbym na tym forum zacząć jakąś dyskusje na ten temat, jakie są wasze doświadczenia podczas budowy waszych aplikacji na tym frameworku.
Może ktoś zaprezentuje jakieś swoje moduły, albo rozwiązania jakie wprowadził i zintegrował z tym frameworkiem.

Jak wypada mojavi na tle innych frameworków?

Na oficjalnej stronie www.mojavi.org jest niestety słaba dokumentacja, więc może ktoś z Was wytłumaczy z czym to się je ;-)


Więc zapraszam wszystkich do dyskusji ;-)


--------------------
Go to the top of the page
+Quote Post
Dravo
post
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2003

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


Tak ja używam.
Pierwszą lekturą musi być oczywiście manual na oficjalnej stronie. Radze go przestudiować, dodam że jest to manual do wersji stabilnej 1.0, do 2.0 musisz radzić sobie sam + oficjalne forum.

Cytat
Na oficjalnej stronie www.mojavi.org jest niestety słaba dokumentacja, więc może ktoś z Was wytłumaczy z czym to się je.


Dokumentacja (Manual) jak mówiłem jest wystarczający i jak mówiłem mamy też forum...
A jeśli nie wiesz czym to się je (czyli nie wiesz co to hest MVC) to poczytaj artykuł hawk'a pt. "Wprowadzenie do MVC".

Na naukę doradzam wersję stabilną i przestudiować przykłady.
Forum to nie miejsce na pisanie tutoriali więc nie będe się rozpisywał. Daj jakiś konkretny problem i nie na forum php Pro tylko na zwyczajnym php.

Cytat
Kilka regul, ktore nalezy respektowac postujac na tym forum:
poziom postow powinien byc wysoki - zadnych postow typu:
- czemu skrypt mi nie dziala
- jak zrobic costam podstawowego
beda pozostawiane tylko posty wnoszace cos do dyskusji
o tym, czy posty kwalifikuja sie na te forum beda ustalac moderatorzy, wiec prosze sie nie dziwic, ze niektore posty znikaja


PS. Temat o frameworkach już był wcześniej na tym forum...


--------------------
Oooo, cia is on the phone... Ok, I got it. Shit I lost it.
Go to the top of the page
+Quote Post
lukaswoj
post
Post #3





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

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


Mnie również interesuje temat tego framework'a.

Cytat
Pierwszą lekturą musi być oczywiście manual na oficjalnej stronie. Radze go przestudiować, dodam że jest to manual do wersji stabilnej 1.0, do 2.0 musisz radzić sobie sam + oficjalne forum.


Czy zasada działania wersji 2 rózni się jakoś znacząco od wersji 1. I nie pytam oczywiście o założenia, które wiadomo, że opierają się na modelu MVC. Pytam o sposób realizacji tych założeń.

Czy wiedza zaczerpnięta z manuala do wersji 1 będzie potrzebna i do zrozumienia działania wersji 2 ? Czy może na nic sie nie przyda ? smile.gif


--------------------
Pozdrawiam
Łukasz Wojciechowski
New Generation Software
+48 602 214 629
http://www.ngsoft.pl
Go to the top of the page
+Quote Post
rzseattle
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

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


php PRO -> php SKRYPTY

Przenioslem ten topic poniewaz mimo ze mowi o dosc zaawansowanych sprawach to jednak odrobine sie kloci z tematami zamieszczanymi na php PRO, gdzie raczej powinny znalezc miejsce dyskosje odnoszace sie do sedna sprawy a nie do juz przygotowanych przez kogos implementacji.


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
Dravo
post
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2003

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


Cytat
Czy zasada działania wersji 2 rózni się jakoś znacząco od wersji 1. I nie pytam oczywiście o założenia, które wiadomo, że opierają się na modelu MVC. Pytam o sposób realizacji tych założeń.


Zasada została zachowana na sama. Zmieniona/usunięto/dodano niektóre funkcję.
Porównaj sobie metody zastosowane w kontrollerze 1.0 a 2.0.
Przykład:
zanikła funkcja handleRequest (string $modName, string $actName) na rzecz forward ($modName, $actName) - obie służa do zmiany/przekierowania na inny moduł/akcję.
Dodano nową funkcję redirect ($url).

Cytat
Czy wiedza zaczerpnięta z manuala do wersji 1 będzie potrzebna i do zrozumienia działania wersji 2 ? Czy może na nic sie nie przyda ?



Napewno się przyda. Sądzę jednak że podczas wyjścia stabilnej wersji Mojavi 2.0 wszytsko może się zmienić. Napewno trzeba będzie przekształcić swoje skrypty, tak aby działały zgodnie z nowymi klasami frameworka.
Można to porównać do przesiadki z merola do bentleja smile.gif. Ale oczywiście bardziej pasuje tutaj prównanie maluch->polonez biggrin.gif. (trzeba zostawić wolne [lepsze] auta na pozniejsze wersje).

Zapraszam do dyskusji bo temat mnie intersuje.


--------------------
Oooo, cia is on the phone... Ok, I got it. Shit I lost it.
Go to the top of the page
+Quote Post
fryk
post
Post #6





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.03.2004
Skąd: Gdynia, Polska

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


Witam! Też zaczynam swoją przygodę z Mojavi. Ściągnąłem wersję rozwojową (b2) i przykładowe zastosowanie - modummy (http://hecitu.kochseite.de/downloads/modummy-1.89.zip). Przykładów na forum Mojavi jest masa - ten nie jest rewelacyjny ale spodobał mi się bo używa Smarty i Adodb. Po kilku dniach potrafię już nieźle brykać.

Ostatnio natomiast trafiłem na forum Mojavi na post głównego programisty projektu opisującego ActionChain. Jest to łańcuch akcji (jak łatwo się domyśleć winksmiley.jpg ) dzięki któremu w danej akcji możemy wykorzystać dane zwracane przez dowolne inne akcje z dowolnych modułów. Spójrzcie jakie to proste:

W pliku Akcji piszemy tak:
[php:1:5cc3a7b784]<?
$actChain =& new ActionChain;
$actChain->register('news', 'NewsModule', 'GetLatestNews');
$actChain->register('poll', 'PollModule', 'GetLatestPoll');
$actChain->register('users', 'UserModule', 'GetLatestUsers');
$actChain->execute($controller, $request, $user);

$request->setAttributeByRef('news', $actChain->fetchResult('news'));
$request->setAttributeByRef('poll', $actChain->fetchResult('poll'));
$request->setAttributeByRef('users', $actChain->fetchResult('users'));
?>[/php:1:5cc3a7b784]

W Widoku tak:
[php:1:5cc3a7b784]<?
$renderer =& new Renderer($controller, 'MyTemplate.php');

$renderer->setAttributeByRef('news', $request->getAttribute('news'));
$renderer->setAttributeByRef('poll', $request->getAttribute('poll'));
$renderer->setAttributeByRef('users', $request->getAttribute('users'));
?>[/php:1:5cc3a7b784]

A uzyskane dane w szablonie strony wykorzystujemy tak:
[php:1:5cc3a7b784]
<b>Latest News:</b><br/>
<?= $template['news'] ?>

<br/><br/>

<b>Latest Poll:</b><br/>
<?= $template['poll'] ?>

<br/><br/>

<b>Latest Users:</b><br/>
<?= $template['users'] ?>
[/php:1:5cc3a7b784]


Jak dla mnie to BOMBA! laugh.gif Co Wy na to? laugh.gif


--------------------
$warsztat = array('php','postgres','zend_studio');
$on_focus = new PRADO;
Go to the top of the page
+Quote Post
Dravo
post
Post #7





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2003

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


Też tak myśle, rowiązanie bardzo potrzebne a przy tym eleganckie smile.gif.
Biore się właśnie za testy wydajności.
Trzeba też poczytać coś o filtrach i validatorach...


--------------------
Oooo, cia is on the phone... Ok, I got it. Shit I lost it.
Go to the top of the page
+Quote Post
fryk
post
Post #8





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.03.2004
Skąd: Gdynia, Polska

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


Są dwa rodzaje filtrów: jeden globalny i modułowe (działają w obrębie danego modułu).

Przykład globalnego (inicjalizuje szablony Smarty i sterownik bazy danych Adodb):
[php:1:985e3c9fb9]<?php
require_once(BASE_DIR . 'filters/SmartyFilter.class.php');
require_once(BASE_DIR . 'filters/AdodbFilter.class.php');

class GlobalFilterList extends FilterList
{
function & GlobalFilterList ()
{
$this->_filters['SmartyFilter'] =& new SmartyFilter;
$this->_filters['AdodbFilter'] =& new AdodbFilter;
}

function registerFilters (&$filterChain, &$controller, &$request, &$user)
{
$filterChain->register($this->_filters['SmartyFilter']);
$filterChain->register($this->_filters['AdodbFilter']);

/*
dowolny kod wykonywany za każdym razem
dla każdej akcji

*/
}
}
?>[/php:1:985e3c9fb9]

Modułowe działają identycznie.

Co do validatorów to rozwiązanie bardzo mi się podoba ale jeszcze nic nie robiłem.


--------------------
$warsztat = array('php','postgres','zend_studio');
$on_focus = new PRADO;
Go to the top of the page
+Quote Post
fryk
post
Post #9





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.03.2004
Skąd: Gdynia, Polska

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


Z forum Mojavi :

Examples & Crash Course update for 2.0-b2 -->> http://www.xs4all.nl/~wansem/mojavi/mojavi...ilestone-b2.zip

Dużo można się z tego nauczyć. Pozdrawiam!


--------------------
$warsztat = array('php','postgres','zend_studio');
$on_focus = new PRADO;
Go to the top of the page
+Quote Post
kamiox
post
Post #10





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 13.10.2003
Skąd: Małopolska

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


z forum MOJAVI:

http://www.writtenauthority.com/eJoME/

Tutaj mamy przykład aplikacji opartej o mojavi2.
Adres, hasło i login do panelu administracyjnego:

http://www.writtenauthority.com/eJoME/login
login: mojavi_user
pass: 123456


--------------------
Go to the top of the page
+Quote Post
kamiox
post
Post #11





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 13.10.2003
Skąd: Małopolska

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


Mam też do Was pytanie. Z jakiej wersji korzystacie ze stabilnej 1 czy z wersji rozwojowej 2 ?


--------------------
Go to the top of the page
+Quote Post
fryk
post
Post #12





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.03.2004
Skąd: Gdynia, Polska

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


tylko 2!


--------------------
$warsztat = array('php','postgres','zend_studio');
$on_focus = new PRADO;
Go to the top of the page
+Quote Post
fryk
post
Post #13





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.03.2004
Skąd: Gdynia, Polska

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


Mojavi w akcji - portal nr 1 izraelskich lekarzy: http://www.doctors.co.il

Szkoda tylko, że po izraelsku biggrin.gif


--------------------
$warsztat = array('php','postgres','zend_studio');
$on_focus = new PRADO;
Go to the top of the page
+Quote Post
Dravo
post
Post #14





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2003

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


Nie pisz od rząd 2 postów.
Mam wrażenie, że Mojavi jest bardzo ociężały. Nawet najporstsza akcja zajmuje 0.1 s.
Po wielu wysiłkach udało mi się to ograniczyć do 0.05. Mowie o baaardzoo prostej akcji...
typu baza -> echo. Zreszta radze popatrzeć na uwagi serwowane przez hawk'a w tym poście. Jeśli macie inne uwagi to proszę o argumentacje i ewentualne rady.
PS. sam nie stosowałem argumentacji, opierałem się o swoich spostrzeżeniach.


--------------------
Oooo, cia is on the phone... Ok, I got it. Shit I lost it.
Go to the top of the page
+Quote Post
lukaswoj
post
Post #15





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

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


Przyszedł czas, żeby wreszcie zapoznać się z Mojavi2 i muszę powiedzieć, że straszliwie mi się podoba.

Co tu dużo mówić, kawał dobrego projektu, mam zamiar go używać i polecam wszystkim.


Pojawił się tutek w języku angielskim - klik.


--------------------
Pozdrawiam
Łukasz Wojciechowski
New Generation Software
+48 602 214 629
http://www.ngsoft.pl
Go to the top of the page
+Quote Post
kamiox
post
Post #16





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 13.10.2003
Skąd: Małopolska

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


Pojawiła się wersja developerska mojavi 3.00, do sciągnięcia w dziale download na http://mojavi.org

Ten post edytował kamiox 7.10.2004, 15:12:59


--------------------
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 Aktualny czas: 20.08.2025 - 14:20