Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zend framework pierwsze kroki
Forum PHP.pl > Forum > PHP > Frameworki
coolin1986
Próbuje uruchomić zend framework na localhoscie. Ale coś nie działa... Controllera Korzystam z tego oto samouczka http://blog.heavymind.net/zend-framework-tutorial/  Doszedlem do sprawdzania dzialania controllerów. Controller sie uruchamia, ale funkcje nie. W czym moze być problem?
krupek
Napisz coś więcej - jakie błędy ci wyrzuca? pokaz kod kontrolera
coolin1986
to jest kod controllera:

<?php
echo "test";
class IndexController extends Zend_Controller_Action {
function indexAction() {
echo "<p>in IndexController::indexAction()</p>";
}

function addAction() {
echo "<p>in IndexController::addAction()</p>";
}

function editAction() {
echo "<p>in IndexController::editAction()</p>";
}

function deleteAction() {
echo "<p>in IndexController::deleteAction()</p>";
}
}



Gdy wpisuje http://localhost/projekt/index/  to sie wyswietla "test" a funkcje zawarte w kontrollerze juz nie
krupek
Wygląda na to , że ten kontroler jest poprawny, problem musi leżeć w innym miejscu. Napisz kod bootstrapera ( index.php ). Czy masz już pliki z widokiem?
Swoją drogą umieszczaj kod php w odpowiednich znacznikach smile.gif
Sabistik
Przenoszę i upominam o używanie bbcode.

Sprawdź czy włączyłeś renderowanie wyjątków.
coolin1986
To jest bootstrapper

  1. <?php
  2. error_reporting(E_ALL|E_STRICT);
  3. date_default_timezone_set('Europe/London');
  4. set_include_path('.' . PATH_SEPARATOR . './library'
  5.  . PATH_SEPARATOR . './application/models/'
  6.  . PATH_SEPARATOR . get_include_path());
  7.  
  8. include "Zend/Loader.php";
  9. Zend_Loader::loadClass('Zend_Controller_Front');
  10.  
  11. // setup controller
  12. $frontController = Zend_Controller_Front::getInstance();
  13. $frontController->throwExceptions(true);
  14. $frontController->setControllerDirectory('./application/controllers');
  15.  
  16. // run!
  17. $frontController->dispatch();
  18. ?>


Widoki nie są jeszcze włączone, ale i bez nich chyba powinno działać?
Sabistik
Spróbuj:
  1. <?php
  2. $frontController->returnResponse(true);
  3. $response = $frontController->dispatch();
  4. $response->renderExceptions((bool) true);
  5. ?>
coolin1986
Notice: Undefined variable: frontController in...
Fatal error: Call to a member function returnResponse() on a non-object in...

więc też nie działa... może coś w ustawieniach apach'a trzeba zmienić? Mam php 5.2.5 więc powinien obsługiwać zenda...
Sabistik
Gdzie Ty to wpakowałeś? <<:
krupek
Ten kod podany przez Sabistika masz wrzucić do pliku index.php , a nie do kontrolera tongue.gif

  1. <?php
  2. // setup controller
  3. $frontController = Zend_Controller_Front::getInstance();
  4. $frontController->throwExceptions(true);
  5. $frontController->setControllerDirectory('./application/controllers');
  6. $frontController->returnResponse(true);
  7. $response = $frontController->dispatch();
  8. $response->renderExceptions(true);
  9. ?>

O ile dobrze zrozumiałem tak to ma wyglądać
coolin1986
Niestety... żadnego effektu... Macie jakieś gotowe testy na zenda? Najprostrze skrypty do sprawdzenia czy działa

OK! Działa! Wystarczyło dodać widoki, jednak bez nich sie nie da.
krupek
Cytat(coolin1986 @ 4.03.2008, 21:02:45 ) *
Niestety... żadnego effektu... Macie jakieś gotowe testy na zenda? Najprostrze skrypty do sprawdzenia czy działa

OK! Działa! Wystarczyło dodać widoki, jednak bez nich sie nie da.


Da się, wystarczy we FrontControllerze wyłączyć renderowanie widoku winksmiley.jpg
roofy_1
Witaj!!!
A czy masz odblokowany mod_rewrite w apache??

Pozdr,
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.