Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Framework do aplikacji
Forum PHP.pl > Forum > Gotowe rozwiązania
mattie
Witam serdecznie.

Mam w planie stworzyć aplikację i chciałbym skorzystać z frameworka ale nie wiem za bardzo na który się zdecydować. Trochę już czytałem na temat Zend, cakePHP i Rapide jednak nie jestem do końca zdecydowany. Zacząłem już coś tworzyć w Zend ale nie ma on mechanizmu obsługi sesji. Spodobał mi się bo jest w miarę łatwy jednak nie ma mechanizmu sesji. W sumie mógłbym taki mechanizm sam dopisać. Nie jestem biegły w php więc proszę o poradę w tej sprawie. Zostać przy Zend czy może uczyć się cake'a?
pawel_k
uczyć sie symfony winksmiley.jpg
Sabistik
Obsługa sesji w ZF jest w inkubatorze, więc można sobie już ją powoli wykorzystywać ;p
mattie
Właśnie czytam na temat Zend_Session. Z tego co do tej pory dowiedziałem się o frameworkach z opinii różnych ludzi to chyba zostanę przy zendzie bo:

- symphony podobno trudne dla początkujących a ja potrzebuję zacząć pisać w miarę szybko
- cakephp hmmmm ten podobno ok ale jakoś nie mogłem go załapać być może dlatego że nie znalazłem żadnego fajnego tutoriala

Mam jeszcze jedno pytanko sticte dotyczące zenda.
Mamy formularz i użytkownik nie wypełnił go poprawnie więc trzeba dla niego stworzyć form z ostrzerzeniem czyli wszystko to samo tylko np dodajemy jeden wiersz z komunikatem.
Zrobiłem coś takiego ale niestety wywala błędy:

Szablon formularza logowania:

  1. <table cellspacing="0">
  2. <TR>
  3. <TD id="test">Kalendarz KSW</TD>
  4. </TR>
  5. <? echo $this->render($this->exception);?>
  6. <tr>
  7. <td><form action="/zf-tutorial/index/loguser" method="post">
  8. <div>
  9. <label for="artist">Login : </label>
  10. <input type="text" name="login"/>
  11. </div>
  12. <div>
  13. <label for="title">Hasło :</label>
  14. <input type="password" name="pass"/>
  15. </div>
  16. <div>
  17. <input type="submit" name="loguj" value="Loguj" />
  18. </div>
  19. </form>
  20. </td>
  21. </tr>


Kontroler:

  1. <?php
  2. function indexAction($exception = null) {
  3.  
  4. $view = Zend::registry('view');
  5. $view->title = "KSW Kalendarz";
  6. if ($exception !== null ) {
  7. $view->exception = 'indexErr.tpl.php';
  8. }
  9. echo $view->render('indexIndex.tpl.php');
  10. }
  11.  
  12. function loguserAction() {
  13.  
  14. $view = Zend::registry('view');
  15. $view->title = "KSW Kalendarz";
  16. if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
  17. $post = Zend::registry('post');
  18. $login = $post->noTags('login');
  19. $pass = $post->noTags('pass');
  20. if (empty($login) || empty($pass)) {
  21. $exception = "blabla";
  22. IndexController::indexAction($exception);
  23. }
  24. ?>
nrm
CodeIgniter ma wszystko i jest 'lekki' winksmiley.jpg
Sabistik
Nie no następny... Może napiszesz co Ci nie działa, jakie błędy..
Z tego co widze to:
- brak na końcu loguserAction() dwóch } (ale to pewnie Ci się źle skopiowało)
- podczas wyświetlania formularza (za pierwszym razem)
  1. <? echo $this->render($this->exception);?>
$this->exception jest puste wiec będzie wywalać błąd. Rozwiąż to inaczej. np:
  1. <?php
  2. function indexAction($exception = false) {
  3.  
  4. $view = Zend::registry('view');
  5. $view->title = "KSW Kalendarz";
  6. if ($exception) {
  7. $view->exception = $view->render('indexErr.tpl.php');
  8. }
  9. echo $view->render('indexIndex.tpl.php');
  10. }
  11.  
  12. function loguserAction() {
  13.  
  14. $view = Zend::registry('view');
  15. $view->title = "KSW Kalendarz";
  16. if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
  17. $post = Zend::registry('post');
  18. $login = $post->noTags('login');
  19. $pass = $post->noTags('pass');
  20. if (empty($login) || empty($pass)) {
  21. $exception = true;
  22. IndexController::indexAction($exception);
  23. }
  24. }
  25. }
  26. ?>

a w indexIndex.tpl.php
  1. //zamiast <? echo $this->render($this->exception);?> wstaw:
  2. <?php echo $this->exception;?>


PS
zf system szablonów jest moim zdaniem strasznie słaby, użyj lepiej smarty albo opt.
ARJ
ja jeszcze dorzucę linki:
http://framework.zend.com/wiki/display/ZFDEV/Zend_Session <= Zend Session
http://framework.zend.com/wiki/display/ZFD...F5AEE911003430C <= Zend Acl
oba jeszcze w inkubatorze ale zawsze to kilka informacji "jak to się je".

mam jeszcze pytanie co do przedstawionego kodu. logowanie następuje w kontrolerze, a sprawdzanie poprawności loginu i hasła w modelu? troszkę się w tym pogubiłem. tak samo sprawdzanie czy zalogowany użytkownik ma prawa do np. oglądania lub komentowania strony - gdzie to umieścić?
Sabistik
Cytat
tak samo sprawdzanie czy zalogowany użytkownik ma prawa do np. oglądania lub komentowania strony - gdzie to umieścić?

Było o tym ostatnio. Wszystko zależy.. Jeśli sprawdzasz ogólnie czy jest np zalogowany, to w pluginie. a jak sprawdzasz czy ma prawo do konkretnej akcji no to w akcji ;p
Jeśli chodzi o model to tak jak napisałeś.
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.