Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: FRAMEWORK [MVC] MOJAVI
Forum PHP.pl > Forum > Gotowe rozwiązania
kamiox
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 ;-)
Dravo
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...
lukaswoj
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
rzseattle
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.
Dravo
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.
fryk
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
Dravo
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...
fryk
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.
fryk
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!
kamiox
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
kamiox
Mam też do Was pytanie. Z jakiej wersji korzystacie ze stabilnej 1 czy z wersji rozwojowej 2 ?
fryk
tylko 2!
fryk
Mojavi w akcji - portal nr 1 izraelskich lekarzy: http://www.doctors.co.il

Szkoda tylko, że po izraelsku biggrin.gif
Dravo
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.
lukaswoj
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.
kamiox
Pojawiła się wersja developerska mojavi 3.00, do sciągnięcia w dziale download na http://mojavi.org
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.