Zend Framwork come iniziare??

Salve a tutti, sono un nuovo utente e mi sto affacciando per la prima volta al mondo di zend, per cominciare ho scaricato la versione free del framework ma non so come configurarlo ne dove iniziare a creare il mio primo progetto. Inoltre ho un server IIS e leggendo tra i vari forum ho letto del modulo rewrite di apache come posso ovviare su IIS????

Spero che qualcuno possa aiutarmi e darmi gli input giusti per iniziare a scoprire il mondo di Zend.

Grazie mille, ciao a tutti.

inviato 8 anni fa
reve
reve
1
X 0 X

Grazie mille davvero, sei stato gentilissimo, magari se ho problemi (sicuramente ne avro perche sono agli inizi) vi ricontatto su questo post. Vorrei un'ulteriore domanda, per sviluppare ho scaricato eclipse per php va bene? o c'è qualche altro ambiente più adatto (sempre free).

Grazie mille ancora un saluto a tutti  :bye:

risposto 8 anni fa
reve
reve
1
X 0 X

Intendi questo?

http://www.eclipse.org/pdt/

Secondo me va benissimo.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

si questo, posso iniziare a chiedere alcune delucidazioni?

sto provando a creare una semplice applicazione hello world, ma non so come fare per provarla in locale, va bene se faccio: localhost/nome_applicazione

Inoltre in molti tutorial ho visto della sintassi del tipo :: oppure === mi sapresti indicare come posso "tradurle"?

Grazie mille ancora, saluti.

risposto 8 anni fa
reve
reve
1
X 0 X

Aspetta... se non conosci piuttosto bene PHP e la programmazione ad oggetti lascia perdere lo Zend Framework!

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

be php ci sto sopra da qualche mese e sviluppo abbastanza facilmente, la programmazione ad oggetti ho delle nozioni teoriche ma di pratico poco, ora sto cercando di imparare sia zend che programmazione ad oggetti, colgo l'occasione per chiederti suggerimenti per dei manuali sulla programmazione ad oggetti su php5

risposto 8 anni fa
reve
reve
1
X 0 X

stiamo uscendo un po' fuori tema... apri una discussione per ciascun problema particolare  :police:

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Ciao ho una curiosita da sottoporre, per far funzionare correttamente zend ho bisogno dello zend core??? o riesco a programmare lo stesso in modo funzionale con il framework scaricato dal web (free) e con eclipse e con Apache, PHP5 e mysql???

GRAZIE ANCORA, soprattutto a Gianni per gli ottimi tutorial (consigliatissimi)

risposto 8 anni fa
reve
reve
1
X 0 X

Lo Zend Core è semplicemente una "distribuzione" di PHP certificata, quindi puoi farne tranquillamente a meno.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Salve ho provato l'applicazione per l'autenticazione presente tra i tutorial,  ma quando clicco sul submit il sistema mi dice che non riesce a trovare la pagina col classico errore 404.

Se invece accando alla BASE URL metto index.php/ cosi:

<form action="<?php echo BASE_URL?>index.php/index/login" method="post">

mi porta almeno alla pagina di errore.

Ma in linea generale per tutti gli esempi devo modificare il BASE URL per far si che le pagine iterino tra loro, perché???

risposto 8 anni fa
reve
reve
1
X 0 X

Controlla che il rewrite engine di Apache stia funzionando correttamente.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

come si fa a controllare???

risposto 8 anni fa
reve
reve
1
X 0 X

Ho seguito i passi per la configurazione ai link che mi hai indicato e mi compare il segiente errore:

The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity. #0 C:\web\zendProject\asmFlotte\controllers\IndexController.php(35): Zend_Auth_Adapter_DbTable->authenticate() #1 C:\web\zendProject\lib\Zend\Controller\Action.php(499): IndexController->loginAction() #2 C:\web\zendProject\lib\Zend\Controller\Dispatcher\Standard.php(242): Zend_Controller_Action->dispatch('loginAction') #3 C:\web\zendProject\lib\Zend\Controller\Front.php(929): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #4 C:\web\zendProject\lib\Zend\Controller\Front.php(233): Zend_Controller_Front->dispatch() #5 C:\web\zendProject\asmFlotte\index.php(29): Zend_Controller_Front::run('controllers') #6 {main}

risposto 8 anni fa
reve
reve
1
X 0 X

Hai sbagliato ad indicare il nome della tabella o delle colonne che contengono i dati di autenticazione dell'utente.

P.S.: stiamo andando un po O.T.  :police:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Capisco magari che stiamo andando fuori tema però vorrei evitare di incasinarti il forum con topic superflui, comunque mi compare anche un'altro errore:

Notice: Undefined offset: 0 in C:\web\zendProject\views\scripts\index\index.phtml on line 11

risposto 8 anni fa
reve
reve
1
X 0 X

quel notice è un errore dello script, che comunque non ti blocca l'applicazione. puoi risolcerlo con un if(isset(...

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Gianni ti devo ringraziare infinitamente....l'aiuto che mi stai dando è ENORME e tutto grazie a questo fantastico sito. Sto coinvolgendo già alcuni miei amici appassionati a visitarlo..... :D :bye:

risposto 8 anni fa
reve
reve
1
X 0 X

Ragazzi rispolvero questo topic per chiedere alcune cose.

Ho installato in locale Zend Core 2.5 con tutto l'occorrente (Apache e MySQL).

Ho letto questo tutorial e creato i vari file, quindi inseriti in una cartella /prova/ nella root del mio webserver /htdocs/.

A questo punto aprendo la pagina http://localhost/prova/ ottengo un 500 Internal Server Error ma non capisco dove sbaglio.

C'è da considerare che ho solo modificato questa riga di codice inserendo il mio pathname, come si può vedere.

set_include_path(get_include_path().PATH_SEPARATOR.'C:\Programmi\Zend\Core\ZendFramework\library'.PATH_SEPARATOR.'.\models');

Qualcuno può aiutarmi a riguardo!?

risposto 8 anni fa
Kaesar83
X 0 X

hai creato il file .htaccess? hai abilitato questo tipo di file nella configurazione di Apache?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Si l'ho fatto ora e ho riavviato Apache, ma sempre lo stesso problema!

#0 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(208): Zend_Controller_Dispatcher_Standard->loadClass('ErrorController')
#1 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#2 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Front.php(224): Zend_Controller_Front->dispatch()
#3 C:\Programmi\Zend\Apache2\htdocs\oop\index.php(30): Zend_Controller_Front::run('controllers')
#4 {main}
  thrown in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php on line 293

Queste sono le ultime righe del file di log, non so se potrebbe aiutare!

risposto 8 anni fa
Kaesar83
X 0 X

Hai creato ErrorController?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Si...sarebbe questo no?

class ErrorController extends Zend_Controller_Action   
{   
    public function errorAction()   
    {   
        $this->view->titoloPagina = 'Pagina non trovata';   
    }   
} 

L'ho inserito nella cartella controllers/ assieme ad IndexController e a NewsController

risposto 8 anni fa
Kaesar83
X 0 X

riporta qualche riga in più del file di log, mi sembra che ne manchi qualcuna

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Ecco a te

PHP Warning:  Zend_Loader::include_once(controllers\IndexController.php) [<a href='function.Zend-Loader-include-once'>function.Zend-Loader-include-once</a>]: failed to open stream: No such file or directory in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Loader.php on line 178
PHP Warning:  Zend_Loader::include_once() [<a href='function.include'>function.include</a>]: Failed opening 'controllers\IndexController.php' for inclusion (include_path='C:\Programmi\Zend\Core\ZendFramework\library\;C:\Programmi\Zend\Core\ZendFramework\library;.\models') in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Loader.php on line 178
PHP Warning:  Zend_Loader::include_once(controllers\ErrorController.php) [<a href='function.Zend-Loader-include-once'>function.Zend-Loader-include-once</a>]: failed to open stream: No such file or directory in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Loader.php on line 178
PHP Warning:  Zend_Loader::include_once() [<a href='function.include'>function.include</a>]: Failed opening 'controllers\ErrorController.php' for inclusion (include_path='C:\Programmi\Zend\Core\ZendFramework\library\;C:\Programmi\Zend\Core\ZendFramework\library;.\models') in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Loader.php on line 178
PHP Fatal error:  Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller class ("ErrorController")' in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php:293
Stack trace:
#0 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(208): Zend_Controller_Dispatcher_Standard->loadClass('ErrorController')
#1 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#2 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Front.php(224): Zend_Controller_Front->dispatch()
#3 C:\Programmi\Zend\Apache2\htdocs\oop\index.php(30): Zend_Controller_Front::run('controllers')
#4 {main}
  thrown in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php on line 293

Inoltre volevo dirti che ho provato lo script su uno spazio web (quindi da remoto) e mi restituisce un

Pagina non trovata

Attenzione! La pagina che stai cercando non esiste oppure è stata spostata.

Non capisco dove sia l'errore e vorrei sapere un'altra cosa;

i vari metodi che vanno in models/News.php sono tutti contenuti in una classe!? Che nome dovrebbe avere questa classe?

Grazie ancora...

risposto 8 anni fa
Kaesar83
modificato 8 anni fa
X 0 X

Ok, si inizia ad intravedere il problema. Il framework non riesce a caricare i controller. Prima cerca di caricare l'IndexController ma non ci riesce, allora per segnalare l'errore cerca di caricare l'ErrorController ma fallisce nuovamente.

Hai fatto modifiche al file di bootstrap? Hai messo i controller in una cartella "controllers" presente sullo stesso livello del file di bootstrap?

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Si da questo punto di vista è tutt'ok, infatti da remoto cmq mi funziona, mi da il messaggio di errore!

risposto 8 anni fa
Kaesar83
X 0 X

Scusa per il doppio post, ma è per dirti che da remoto ho risolto quasi interamente, infatti riesco a vedere la news che ho inserito via phpmyadmin, i problemi però riguardano i vari link per l'inserimento, modifica, visualizzazione o cancellazione della news.

In pratica cliccando su una di queste opzioni ho un errore 404 (del server, non dell'ErrorController) quindi non riesco ad interagire in alcun modo con il database, come posso fare?

risposto 8 anni fa
Kaesar83
X 0 X

non sta funzionando la traduzione degli URL, quindi o il rewrite engine di apache non è attivo o il file .htaccess manca, è errato oppure non è abilitato

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Boh ci sto per rinunciare qui la situazione non cambia eppure nel file .htaccess ho inserito solo le prime due righe quelle riguardanti le php flag no altrimenti l'intero script non funge più.

Cmq se vuoi dare un'occhiata qui, io ormai non so che pesci prendere! :'(

risposto 8 anni fa
Kaesar83
X 0 X

ma nel file .htaccess hai messo:

RewriteEngine on

RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Certo, solo quelle due righe!

risposto 8 anni fa
Kaesar83
X 0 X

ok, rimane il fatto che, secondo il Log che hai riportato, il Dispatcher non riesce a caricare i Controller. In pratica non funziona il semplice

include_once('controllers\IndexController.php');

prova a fare uno script PHP contenente solo quell'istruzione e vedi cosa succede.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Inserendo solo

include_once('controllers\IndexController.php');

ecco qua quello che mi viene restituito

PHP Warning:  Zend_Loader::include_once(controllers\ErrorController.php) [<a href='function.Zend-Loader-include-once'>function.Zend-Loader-include-once</a>]: failed to open stream: No such file or directory in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Loader.php on line 178
PHP Warning:  Zend_Loader::include_once() [<a href='function.include'>function.include</a>]: Failed opening 'controllers\ErrorController.php' for inclusion (include_path='C:\Programmi\Zend\Core\ZendFramework\library\;C:\Programmi\Zend\Core\ZendFramework\library;.\models') in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Loader.php on line 178
PHP Fatal error:  Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller class ("ErrorController")' in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php:293
Stack trace:
#0 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(208): Zend_Controller_Dispatcher_Standard->loadClass('ErrorController')
#1 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#2 C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Front.php(224): Zend_Controller_Front->dispatch()
#3 C:\Programmi\Zend\Apache2\htdocs\oop\index.php(30): Zend_Controller_Front::run('controllers')
#4 {main}
  thrown in C:\Programmi\Zend\Core\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php on line 293
risposto 8 anni fa
Kaesar83
X 0 X

tutto quell'errore per uno script così:

<?php

include_once('controllers\IndexController.php');

?>

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Essì...cmq a questo punto inizio a credere che possa essere qualche problema dovuto a qualche impostazione del mio server Apache, è possibile?

Ti ricordo che ho installato Zend Core 2.5!

risposto 8 anni fa
Kaesar83
X 0 X

Ragazzi permettetemi una domanda che forse riterrete stupida.

Come mai per l'include delle pagine header o footer si utilizza l'estensione phtml e non php?

Altra cosa...guardando l'esempio presente nel tutorial i link sono tutti nella form /primo/secondo/ecc.. c'è la possibilità di utilizzare semplici url dinamici?

Grazie in anticipo

risposto 8 anni fa
Kaesar83
X 0 X

L'estensione phtml è solo una convenzione e serve a distinguere i file contenenti i template HTML. Volendo può essere cambiata in modo da usare la classica estenzione .php

Per quanto riguarda gli URL, non credo si possano usare i classici URL ma questo è un bene poiché gli URL del tipo /controller/action/parametro/valore sono molto più appetibili ai motori di ricerca.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Bene ti ringrazio  :D

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