Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mojavi3
Forum PHP.pl > Forum > Gotowe rozwiązania
pawel_
Witam.
Jak zapewne zainteresowani mojavi wiedzą, ich serwis nie chodzi sad.gif może ma ktoś przypadkiem gdzieś link do jakiegoś tutoriala mojavi3/4, albo jakąś dobrze napisaną aplikację w oparciu o mojavi3/4. nie chciałbym samego api bo jest dostepne na mojavi.net, tylko coś co wytłumaczy niektóre kwestie (np jak przekazać rzeczy z akcji do widoku etc). po długim googlowaniu doszedłem do tego, że połączenie z bazą wygląda tak:
  1. <?php
  2. $db = $this->getContext()->getDatabaseConnection();
  3. ?>
smile.gif
mike
Cytat
po długim googlowaniu doszedłem do tego, że połączenie z bazą wygląda tak:
  1. <?php
  2. $db = $this->getContext()->getDatabaseConnection();
  3. ?>
smile.gif

W ten sposób pobierasz domyślne połączenie.
Mojavi 3 może pracować na kilku połączeniach, jeśli chcesz wybrać jakieś konkretne to musisz pobrać manager'a:
  1. <?php
  2. $db = $this->getContext()->getDatabaseManager();
  3. ?>
smile.gif
i na tym obiekcie wybrać inne połączenia.

Jeśli chodzi o przekazywanie danych z akcji do widoku możesz przekazać przez atrybuty żądania.

akcja
  1. <?php
  2.  
  3. $objRequest = $this->getContext()->getRequest();
  4. $objRequest->setAttribute( 'var', 'value' );
  5.  
  6. ?>


widok
  1. <?php
  2.  
  3. $objRequest = $this->getContext()->getRequest();
  4. $strValue = $objRequest->getAttribute( 'var' );
  5.  
  6. ?>
pawel_
mike: thx wielkie smile.gif juz cos do przodu smile.gif mozesz mi napisac wiecej mozliwosci mojavi (np autentykacja userow etc?) bede bardzo wdzieczny:)
chyba, ze masz jakis demo site ktory jest zrobiony w mojavi i moglbys mi kod pokazac...... bede jeszcze bardziej wdzieczny winksmiley.jpg

pozdrawiam,
Pawel
nospor
ja to tylko przeniose i juz znikam wam z topicu smile.gif
mike
Cytat(pawel_ @ 25.07.2006, 09:37 ) *
mozesz mi napisac wiecej mozliwosci mojavi (np autentykacja userow etc?) bede bardzo wdzieczny:)

Jeśli chodzi o logowanie to każde akcja ma metodę isSecure(). Jeśli chcesz żeby jakaś akcja była dostępna tylko po logowaniu to dajesz:
  1. <?php
  2.  
  3. public function isSecure()
  4. {
  5. return true;
  6. }
  7.  
  8. ?>

Użytkownik staje się zalogowany jeśli a jakiejśc akcji, lub w dowolnym momencie zrobisz mu tak:
  1. <?php
  2.  
  3. $objUser = $this->getContext()->getUser();
  4.  
  5. // Autoryzacja użytkownika
  6. $objUser->setAuthenticated( true );
  7. // ---
  8.  
  9. ?>

Jest podsttawowa autoryzacja.
Sa też prawa dla użytkownika i do akcji.
Poszukaj tutaj o Action::getCredential() oraz User::addCredential()

Cytat(pawel_ @ 25.07.2006, 09:37 ) *
chyba, ze masz jakis demo site ktory jest zrobiony w mojavi i moglbys mi kod pokazac...... bede jeszcze bardziej wdzieczny winksmiley.jpg

Mam napisane na tym kilka serwisów i aplikacji, ale będziesz musiał poczekać jeśli chcesz jakiś kod, bo ine mam teraz czasu za bardzo.

Jak masz więcej pytań to wal.

Postaram Ci się wysłać jakieś demo, ale tak jak mówię, może to być za jaaaaakiś czas.
pawel_
hmm to teraz mam takie pytanie smile.gif
jest prosta sytuacja - logowanie usera. lepiej zrobic to piszac nowy modul (masz moze jakas czysta strukture katalogow z wymaganymi plikami?), czy piszac po prostu widoki i akcje (login, logout, change_password, remember_password) :?:
mike
Cytat(pawel_ @ 26.07.2006, 15:59 ) *
jest prosta sytuacja - logowanie usera. lepiej zrobic to piszac nowy modul (...)
Takie akcje warto umieścić w module Default.

Cytat(pawel_ @ 26.07.2006, 15:59 ) *
(...) (masz moze jakas czysta strukture katalogow z wymaganymi plikami?), (...)
Najlepiej kiedy pliki źródłowe sa poza public_html i taki podział plików jest prezentowany tutaj: agavi_recommended.zip najczęsciej jednak posiadamy serwery, na których nie da się tego zrobić, w takiej sytuacji powinno być tak: agavi_usual.zip

Cytat(pawel_ @ 26.07.2006, 15:59 ) *
czy piszac po prostu widoki i akcje (login, logout, change_password, remember_password) :?:
Akcja, widok, model zawsze sa związane z jakimś modułem.


Moduł domyślny posiada domyślne akcje:
  • Default Action - domyslna akcja w dmyślnym module wykonywana jeśli nie jest to określone w parametrach żądania (URL)
  • Error 404 Action - brak akcji/modułu
  • Login Action - akcja logowania
  • Module Disabled Action - wywołanie akcji z wyłączonego modułu
  • Secure Action - żadanie akcji która wymaga autryzacji
  • Unavailable Action - żadanie akcji wymagającej nie tylko autoryzacji ale też praw
To która akcje sa domyśle ustaiasz w pliku webapp/config/settings.ini
Na przykład (domyślnie):
Kod
; +------------------------------------------------------------------------+
; | Default Module & Action                                                |
; | ---------------------------------------------------------------------- |
; | When a request is made but does not specify a module, the module       |
; | listed here will be used. When a request is made but does not specify  |
; | an action, and the assumed module has no 'Index' action, the action    |
; | listed here will be used.                                              |
; +------------------------------------------------------------------------+
    DEFAULT_MODULE = "Default"
    DEFAULT_ACTION = "Index"

; +------------------------------------------------------------------------+
; | Error 404 Module & Action                                              |
; | ---------------------------------------------------------------------- |
; | When a request is made for a nonexistent action, the request will be   |
; | forwarded to this module and action pair.                              |
; +------------------------------------------------------------------------+
    ERROR_404_MODULE = "Default"
    ERROR_404_ACTION = "Error404"


P.S.
Niech nie zdziwi Cię Agavi zamiast Mojavi. Mojavi 3.0 DEV nie jest skończone, pomimo tego że bardzo stabilne. Mało tego projekt ten nie zostanie skończony, został porzucony. Jeśli chchesz zobaczyć Mojavi 3.0 stable zainwestuj w Agavi 1.0 biggrin.gif
Wszystko jest identyczne.
http://agavi.org

---added---
Agavi :: Tutorials
pawel_
dobra - chcialbym sie jeszcze dowiedziec jak uzywac cache'a smile.gif nie moge tego znalezc na agavi (za slabo szukam?)

wielkie dzieki za poswiecanie czasu smile.gif

powiedz mi - mojavi, agavi czy symfony?? które polecasz dla site'u ktory ma takie statystyki (wg google analytics i gemiusa)
Kod
Visits: 620 000
Pageviews: 3 350 000(dane w zaokrągleniu w górę do pełnych tysięcy)
mike
Cytat(pawel_ @ 7.08.2006, 12:51 ) *
dobra - chcialbym sie jeszcze dowiedziec jak uzywac cache'a smile.gif nie moge tego znalezc na agavi (za slabo szukam?)

Ale cache dotyczący czego? Szablony, konfiguracja, ... ?

Cytat(pawel_ @ 7.08.2006, 12:51 ) *
powiedz mi - mojavi, agavi czy symfony?? które polecasz dla site'u ktory ma takie statystyki (wg google analytics i gemiusa)
Kod
Visits: 620 000
Pageviews: 3 350 000(dane w zaokrągleniu w górę do pełnych tysięcy)

To są statystyki dzienne, tygodniowe, miesięczne, ... ?

Na pewno nie Mojavi, jest najwolniejsze z powyższych.
Ja obecnie gdybym pisał taki serwis napisałbym go na Symfony. Ma bardzo duże możliwości i jest takim poprawionym Mojavi 3.0
Połowa kodu Symfony (ptzynajmniej serce frameworka) jest kopią Mojavi. Symfony powstało na Mojavi.
pawel_
cache - templatów, albo najlepiej całego situ
statystyki są miesięczne.

jezeli masz jakis inny framework który można by wykorzystać do takiego situ to będę bardzo wdzięczny;)
Coyote
obejrzyj sobie "KEJKA" wedlug mnie bardzo przyjazny Frame work winksmiley.jpg albo Symphony choc dla mnie to za duza krowa winksmiley.jpg
pawel_
na cakephp pracuje - odpada. za mała funkcjonalność + pisany pod php4 + pracuję na miejscu jednego z developerów w fimie i widzę jaki bałagan w kodzie po sobie pozostawił (developer, nie cake:P) smile.gif jakieś inne propozycje? koniecznie php5
Coyote
no to masz symfony ... pisane na piatce ... i tam jest az "za duza" funkcjonalnosc jak dla mnie ;>
pawel_
Witam ponownie winksmiley.jpg
Z przyczyn technicznych muszę pozostać przy mojavi3 smile.gif chciałbym sie od Was dowiedzieć jak odpalić walidację formularzy....
Z tego co się orientuję, należy w katalogu /modules/<MODUŁ>/validate wstawić plik <AKCJA>.ini i powinno wszystko chodzić.... U mnie tak nie jest :/ nie czyta w ogóle tego pliku :/ ma ktoś jakiś pomysł jak to odpalić :?:
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-2025 Invision Power Services, Inc.