- Wed
- 6
- May
- 09
Creare un progetto Zend Framework 1.8.0 con Zend_Tool e Wamp Server
Di in Php, Zend Framework Controls: +-close
Sono numerose le novità portate dalla nuova versione 1.8.0 di Zend Framework, come per esempio la possibilità di generare un progetto base utilizzando il componente Zend_Tool e lanciare un semplice comando da terminale. Premetto che il tutorial è scritto per gli utenti windows.
Per far ciò abbiamo prima la necessità di apportare alcune modifiche al nostro sistema operativo, niente di complicato, solo aggiungere alcune variabili d’ambiente. Ma andiamo con ordine.
Recatevi a questo indirizzo http://framework.zend.com/download/latest e scaricate la versione di zend framework ‘Zend Framework 1.8.0 Minimal’. Create quindi una directory all’interno di Program Files e chiamatela ZendFrameworkCli, dovreste quindi avere il percorso C:\Program Files\ZendFrameworkCli sul vostro computer.
A questo punto estraete le directories ‘bin’ e ‘library’ dall’archivio scaricato all’interno di C:\Program Files\ZendFrameworkCli. Quindi al suo interno dovreste avere ‘bin’ e ‘library’.
A questo punto recatevi su Pannello di Controllo -> Sistema, label ‘Avanzate’, cliccate sul bottone ‘Variabili d’ambiente’. Cercate quindi la voce ‘Path’ sotto il riquadro ‘Variabili di sistema’ ( quello in basso ). Selezionatelo e cliccate ‘Modifica’. Alla fine della stringa aggiungete ‘;C:\Program Files\ZendFrameworkCli\bin’ , mi raccomando al ; iniziale, è importante in quanto serve a terminare l’ultima path precedentemente inclusa da qualche altra installazione.
Se utilizzate php con wampserver avrete la necessità di aggiungere una variabile di sistema per la locazione dell’eseguibile di php. Usando l’ultima versione di wamp server dovreste aggiungere questa ‘;C:\wamp\bin\php\php5.2.9-2′ ovviamente vi consiglio di controllare se php.exe si trova effettivamente in quella posizione nel vostro computer.
Quindi Riavviate, le nuove modifiche saranno attive.
A questo punto andate su start -> esegui, inserite cmd e date invio: se tutto ha funzionato come si deve, scrivendo ‘zf show version’ vi dovrebbe essere restituito ‘Zend Framework Version: 1.8.0′.
Possiamo quindi creare il nostro progetto, date il comando ‘zf create project zfproject’, dove ‘zfproject’ sarà il nome della directory in cui il vostro progetto sarà creato, potete sostituirlo con quello che volete. Appena il comando avrà terminato di creare il progetto vi comunicherà dove questo è stato salvato, di default all’interno dela vostra cartella documenti.
Per comodità ho preferito spostare la directory creata da Zend_Tool su C:/wamp/ ( o comunque una directory superiore a www ). All’interno della directory contenente il progetto creato abbiamo la cartella ‘public’. Questa sarà da rinominare a vostro piacimento ed inserire nella parte pubblica del vostro webserver.
Se lo ritenete opportuno potete creare un virtual host per la vostra applicazione di prova con zf1.8.0, come spiegato in .
Problemi riscontrati
Ho incontrato qualche problema nel file index.php pubblico creato da zend tool, le costanti generate tramite l’utilizzo della funzione realpath risultavano stranamente vuote, ho apportato quindi alcune modifiche al file, che posto qui di seguito:
// Define container to application directory
defined('DS')
|| define('DS',
(DIRECTORY_SEPARATOR ? DIRECTORY_SEPARATOR
: '/'));
// Define container to application directory
defined('CONTAINER_DIR')
|| define('CONTAINER_DIR',
(getenv('CONTAINER_DIR') ? getenv('CONTAINER_DIR')
: 'zend'));
// Define application directory
defined('APPLICATION_DIR')
|| define('APPLICATION_DIR',
(getenv('APPLICATION_DIR') ? getenv('APPLICATION_DIR')
: 'application'));
// Define library directory
defined('LIBRARY_DIR')
|| define('LIBRARY_DIR',
(getenv('LIBRARY_DIR') ? getenv('LIBRARY_DIR')
: 'library'));
// Define condiguration directory
defined('CONFIGS_DIR')
|| define('CONFIGS_DIR',
(getenv('CONFIGS_DIR') ? getenv('CONFIGS_DIR')
: 'configs'));
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH',
dirname(dirname(dirname(__FILE__))).DS.CONTAINER_DIR.DS.APPLICATION_DIR.DS);
// Define path to library directory
defined('LIBRARY_PATH')
|| define('LIBRARY_PATH',
dirname(APPLICATION_PATH).DS.LIBRARY_DIR.DS);
// Define path to library directory
defined('CONFIGS_PATH')
|| define('CONFIGS_PATH',
APPLICATION_PATH.CONFIGS_DIR.DS);
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV',
(getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV')
: 'production'));
// Typically, you will also want to add your library/ directory
// to the include_path, particularly if it contains your ZF install
set_include_path(implode(PATH_SEPARATOR, array(
LIBRARY_PATH,
get_include_path(),
)));
//echo get_include_path();
//exit;
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
CONFIGS_PATH.'application.ini'
);
$application->bootstrap()
->run();
Alcune costanti come potete vedere, prendono un valore se lo trovano all’interno dell’htaccess, altrimenti ne utilizzano uno di default. Le uniche due costanti che hanno la necessità di essere specificate sono:
SetEnv APPLICATION_ENV development SetEnv CONTAINER_DIR zfproject
Le linee di codice qui sopra dovranno essere inserite in cima all’.htaccess.
Richiamando l’indirizzo locale dove avete inserito la parte pubblica ( o richiamando il vhost creato ), otterrete il seguente risultato
Related posts:
- Creare un virtual host su windows XP con wampserver Cos'è un virtual host? Con il termine virtual hosting si...
- Zend Framework 1.8.2 disponibile La notizia è di 2 giorni fa, in ogni caso...
- Zend Framework 1.8.1 disponibile Lo Zend Framework Team annuncia l'immediata disponibilità della nuova versione...
Related posts brought to you by Yet Another Related Posts Plugin.













Ciao ho un problema nell’installazione, non uso wamp ma la configurazione a pacchetti. Ho messo come variabile d’ambiente il path alla cartella php ma quando lancio zf show version ricevo un errore: “zf non è riconosciuto come comando interno o esterno, un programma eseguibile o un file di batch”
Cosa posso fare^
Hai aggiunto “;C:\Program Files\ZendFrameworkCli\bin” in Path?