Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zend Framework
1maciek
post
Post #1





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (10%)
X----


Witam,
napisałem małą aplikację przy użyciu Zend Framework i pojawia się problem,
mój IndexController.php wygląda tak:
  1. <?php
  2. class IndexController extends Zend_Controller_Action {
  3.  
  4. public function indexAction() {
  5. $view = Zend::registry('view');
  6. echo $view->render('IndexView.php');
  7. }
  8.  
  9. public function noRouteAction() {
  10. $view = Zend::registry('view');
  11. echo $view->render('NoRouteView.php');
  12. }
  13. }
  14. ?>


oczywiście stworzyłem proste widoki dla każdej akcji.
Problem polega na tym, że co bym nie wpisał w adresie sciezka/ , czy sciezka/index , czy sciezka/index.php zawsze uruchamiana jest akcje noRouteAction, czym to jest spowodowane, może obsługa mod_rewrite nie działa poprawnie? W httdp.conf:
usunąłem # przez LoadModule rewrite_module modules/mod_rewrite.so
i w sekcji <Directory "sciezka do DocumentRoot"> ustawiłem AllowOverride na All

.htaccess wygląda tak:
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Z góry wielkie dzieki za każdą pomoc!

Ten post edytował 1maciek 16.08.2006, 09:13:35
Go to the top of the page
+Quote Post
cyphelf
post
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 1
Dołączył: 27.03.2006

Ostrzeżenie: (0%)
-----


Witam,

Pokaż jeszcze bootstrapa, pełny URL jaki wywołujesz i podaj numer wersji ZF.


--------------------
lorem ipsum : polska społeczność zend framework
Go to the top of the page
+Quote Post
1maciek
post
Post #3





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (10%)
X----


Nie wiem co się kryje pd nazwą bootstrap, ale domyslam się że chodzi o index.php (plik główny alikacji)

  1. <?php
  2. ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'library');
  3. include('Zend.php');
  4.  
  5. function __autoload($class) { Zend::loadClass($class); }
  6.  
  7. $controller = Zend_Controller_Front::getInstance();
  8. $controller->setControllerDirectory('application/controllers');
  9.  
  10. $view = new Zend_View();
  11. $view->setScriptPath('application/views');
  12.  
  13. Zend::register('view', $view);
  14.  
  15. $controller->dispatch();
  16. ?>


URL: http://localhost/maciek/zendtest/ (używam xamppa)

wersja ZF 0.1.5

dzięki za pomoc

Ten post edytował 1maciek 16.08.2006, 09:11:40
Go to the top of the page
+Quote Post
cyphelf
post
Post #4





Grupa: Zarejestrowani
Postów: 68
Pomógł: 1
Dołączył: 27.03.2006

Ostrzeżenie: (0%)
-----


Z tego co pamiętam to standardowy router nie działa dobrze, gdy plik ładujący (index.php) nie znajduje się w głównym katalogu serwera. Spróbuj użyć routera RewriteRouter:

  1. <?php
  2. $router = new Zend_Controller_RewriteRouter();
  3.  
  4. $controller = Zend_Controller_Front::getInstance();
  5. $controller->setControllerDirectory('application/controllers');
  6. $controller->setRouter($router);
  7. $controller->dispatch();
  8. ?>


--------------------
lorem ipsum : polska społeczność zend framework
Go to the top of the page
+Quote Post
1maciek
post
Post #5





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

Ostrzeżenie: (10%)
X----


Działa, wielkie dzieki, pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 08:42