Aiuto sui Controller

Carissimi,

vi scrivo per chiedervi aiuto riguardo allo Zend Framework. Sono giorni che cerco di correggere questo problema, ma non sono ancora riuscita a giungere ad una soluzione. Sono disperata e tra un po' butto il libro giu' dalla finestra  :tichedoff:

Ho comprato questo libro "Sviluppare applicazione Web 2.0 con PHP" per iniziare a lavorare con questo framework. Peccato che non riesco a far funzionare gli esempi.

Ho installato EasyPHP-5.3.2 su Windows, lo ZendFramework 1.0.2, ho attivato il modulo rewrite di apache ed ho creato un virtual host.

La struttura della mia applicazione è semplcissima:

-include
   --Controllers
   --NewsController.php
   --Zend
-index.php
-.htaccess
/code]



nel file .htaccess ho scritto:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
/code]


Contenuto file index.php:


<?php
  require_once('Zend/Loader.php');
  Zend_Loader::registerAutoload();
 
  $controller = Zend_Controller_Front::getInstance();

  $controller -> setControllerDirectory('D:\Programmi\EasyPHP-5.3.2\www\phpweb20\include\Controllers');
  
  $controller ->dispatch();



?>

Classe NewsContoller:

<?php
  
  class NewsController extends Zend_Controller_Action{
      public function indexAction(){
          echo 'Indice di articoli';
      } 
  
      public function displayAction(){
          echo 'Dettagli di articoli';
      
      
      }

  }
  
?>

Il VirtualHost l'ho impostato così:

NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    DocumentRoot "D:\Programmi\EasyPHP-5.3.2\www\phpweb20"
    ServerName phpweb20
    <Directory "D:\Programmi\EasyPHP-5.3.2\www\phpweb20">
        AllowOverride All
        Options All
        Order allow,deny
        Allow from all
    </Directory>
    php_value include_path ".;D:\Programmi\EasyPHP-5.3.2\www\phpweb20\include;D:\Programmi\EasyPHP-5.3.2\php\PEAR"
    php_value magic_quotes_gpc off
    php_value register_globals off
    
</VirtualHost>

Eppure quando provo a fare:

http://phpweb20/news/display

Ricevo questo errore:

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in D:\Programmi\EasyPHP-5.3.2\www\phpweb20\include\Zend\Controller\Dispatcher\Standard.php:194 Stack trace: #0 D:\Programmi\EasyPHP-5.3.2\www\phpweb20\include\Zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 D:\Programmi\EasyPHP-5.3.2\www\phpweb20\index.php(9): Zend_Controller_Front->dispatch() #2 {main} thrown in D:\Programmi\EasyPHP-5.3.2\www\phpweb20\include\Zend\Controller\Dispatcher\Standard.php on line 194

Come posso risolvere?

Ho caricato tutto qui:

http://www.fimietta.it/phpweb20.zip

anche il file httpd.conf

Grazie mille per l'aiuto

inviato 6 anni fa
fimietta
X 0 X

Hai già provato a leggere la guida qui presente in phpnews?

Perchè non segui altrimenti la struttura standard di una applicazione con zend framework proposta nella quick start guide ufficiale e che puoi creare facilmente con zend tools?

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ciao!

Si ho letto sia la guida presente qui che la zend framework quickstart application e mi sa che alla fine seguirò questa strada.

E' inutile continuare a perdere tempo con gli esempi di questo libro che non funzionano.

Tra l'altro mi pare che non siano nemmeno semplici da correggere, ho visto tanti posti simili al mio, ma alla fine nessuno ha corretto il problema ma hanno tutti "suggerito" di seguire altri tutorials.

Grazie

fimietta

risposto 6 anni fa
fimietta
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda