Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]Mały problem
Forum PHP.pl > Forum > PHP > Frameworki
Ikky
troche mi sie narobiło bałaganu w kontrolerach więc stwierdziłem że przeniose funkcje do modelu i tu sie zaczyna mój problem:
kiedy dam

echo $output; w modelu to funkcja działa i zwraca mi output
ale jak juz dam to samo w kontolerze to jest pusto
próbowałem dać w modelu return $output; ale też nie działało

z góry dziękuje za pomoc
luki100011
Pokaż kod kontrolera i modelu
Ikky
Model:

  1. <?php
  2. class Default_Model_Misc extends Zend_Db_Table_Abstract
  3. {
  4.  
  5.    public function convertToNode($textdata)
  6.    {
  7.        $znaki_s = array('ą', 'Ą', 'ć', 'Ć', 'ę', 'Ę', 'ó', 'Ó', 'ń', 'Ń', 'ł', 'Ł', 'ś', 'Ś', 'ź', 'Ź', 'ż', 'Ż', ' ', '_', '.', ',', '+');
  8.        $znaki_n = array('a', 'A', 'c', 'C', 'e', 'E', 'o', 'O', 'n', 'N', 'l', 'L', 's', 'S', 'z', 'Z', 'z', 'Z', '-', '-', '-', '-', '-');
  9.        $output  = strtolower(str_replace($znaki_s, $znaki_n, $textdata));
  10.  
  11.        return $output;
  12.    }
  13. ?>


Kontroler
  1. <?php
  2. class TestController extends Zend_Controller_Action
  3. {
  4.  
  5.    public function indexAction()
  6.    {
  7.        $misc = new Default_Model_Misc();
  8.        $textdata    = 'ćórwźż';
  9.        $misc->convertToNode($textdata);
  10.        echo $output;
  11.    }
  12.    
  13. ?>
plurr
Cytat(Ikky @ 6.08.2009, 14:49:24 ) *
  1. <?php
  2. class TestController extends Zend_Controller_Action
  3. {
  4.  
  5.    public function indexAction()
  6.    {
  7.        $misc = new Default_Model_Misc();
  8.        $textdata    = 'ćórwźż';
  9.        $misc->convertToNode($textdata);
  10.        // $output = $misc->convertToNode($textdata);
  11.        echo $output;
  12.      
  13.    }
  14.    
  15. ?>


zmienna $output w ogóle nie jest zdefiniowana, nie przypisujesz do niej tego co zwraca Ci model.
Ikky
dzięki bardzo za pomoc mam jeszcze jeden mały problem
jak moge zrobić przekierowanie na inną strone z poziomu modelu

bo jak daje

$this->_redirect('/logowanie');

to jest błąd

Fatal error: Call to undefined method Default_Model_Misc::_redirect() in /home/users/sobolczyk_dev/www/application/models/Misc.php on line 16
plurr
przekierowania nie powinno się robić z poziomu modelu, poczytaj o MVC. Model jedynie podaje surowe dane do kontrolera, gdzie są one obsługiwane. Przekierowanie zrób w kontrolerze.

Metoda _redirect() należy do Zend_Controller_Action.
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.