Zend Framework Config
Indice
Utilizzo di array nella configuration
⤽
Ci sono informazioni importanti per costruire un’applicazione con il database, come lo host del database, il nome del database, l’utente, database, il nome di applicazione, e così via. Queste informazioni vengono recuperati estensivamente. Sarebbe conciso se li mettiamo da qualche parte nella configurazione. Zend Framework ha
In questo post, vediamo come implementare
Questo è il file
In primo luogo, carichiamo
Creazione File di configurazioneZend_Config
, ch’è stato progettato per semplificare l’accesso e l’utilizzo dei dati di configurazione all’interno delle applicazioni.In questo post, vediamo come implementare
Zend_Config
usando un array. Per caso, vedetee il nostro codice nel tutorial precedente:
Copia codice
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
date_default_timezone_set('Europe/Berlin');
$rootDir = dirname(dirname(__FILE__));
set_include_path($rootDir . '/library' . PATH_SEPARATOR . get_include_path());
require_once 'Zend/Controller/Front.php';
require_once 'Zend/Registry.php';
require_once 'Zend/Db/Adapter/Pdo/Mysql.php';
Zend_Registry::set('title',"Mia prima applicazione");
$arrName = array('Mario Balducci', 'Federico Rossi',
'Sergio Parilli', 'Francesco Belli');
Zend_Registry::set('credits',$arrName);
$params = array('host'=>'localhost',
'username' =>'root',
'password' =>'password',
'dbname' =>'zend'
);
$DB = new Zend_Db_Adapter_Pdo_Mysql($params);
$DB->setFetchMode(Zend_Db::FETCH_OBJ);
Zend_Registry::set('DB',$DB);
Zend_Controller_Front::run('../application/controllers');
?>
index.php
posizionato sotto la cartella web_root
. Le linee 15 e 20-25 sono utilizzati spesso lungo l’applicazione. Possiamo mettere la configurazione in un array in questo modo:
Copia codice
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
date_default_timezone_set('Europe/Berlin');
$rootDir = dirname(dirname(__FILE__));
set_include_path($rootDir . '/library' . PATH_SEPARATOR . get_include_path());
require_once 'Zend/Controller/Front.php';
require_once 'Zend/Registry.php';
require_once 'Zend/Db/Adapter/Pdo/Mysql.php';
require_once 'Zend/Config.php';
$arrConfig = array(
'webhost'=>'localhost',
'appName'=>'Mia prima applicazione',
'database'=>array(
'dbhost'=>'localhost',
'dbname'=>'zend',
'dbuser'=>'root',
'dbpass'=>'password'
)
);
$config = new Zend_Config($arrConfig);
$title = $config->appName;
$params = array('host' =>$config->database->dbhost,
'username' =>$config->database->dbuser,
'password' =>$config->database->dbpass,
'dbname' =>$config->database->dbname
);
Zend_Registry::set('title',$title);
$arrName = array('Mario Balducci', 'Federico Rossi',
'Sergio Parilli', 'Francesco Belli');
Zend_Registry::set('credits',$arrName);
$DB = new Zend_Db_Adapter_Pdo_Mysql($params);
$DB->setFetchMode(Zend_Db::FETCH_OBJ);
Zend_Registry::set('DB',$DB);
Zend_Controller_Front::run('../application/controllers');
?>
Zend/Config.php
(vedi linea 12). Quindi creare un array per contenere la configurazione (vedi linea 14-23). Successivamente, creare l’object-oriented wrapper sui dati di configurazione (vedi linea 28). Per ultimo, usiamo i dati di configurazione per l’accesso al database (vedi linea 28-32).⤽
Per una facile manutenzione, abbiamo messo i dati di configurazione nel file separati. Per esempio, in un file
Creare un file chiamato “
Per chiamare questo file, possiamo usare in questo modo:
Questo è il codice completo:
Utilizzo del file di configurazione INIconfig.php
. Facciamolo.Creare un file chiamato “
config.php
” all’interno dell’applicazione. Inserisci il seguente codice:
Copia codice
<?
return array(
'webhost'=>'localhost',
'appName'=>'Mia prima applicazione',
'database'=>array(
'host'=>'localhost',
'dbname'=>'zend',
'username'=>'root',
'password'=>'password'
)
);
?>
Copia codice
$config = new Zend_Config(require '../application/config.php');
Copia codice
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
date_default_timezone_set('Europe/Berlin');
$rootDir = dirname(dirname(__FILE__));
set_include_path($rootDir . '/library' . PATH_SEPARATOR . get_include_path());
require_once 'Zend/Controller/Front.php';
require_once 'Zend/Registry.php';
require_once 'Zend/Db/Adapter/Pdo/Mysql.php';
require_once 'Zend/Config.php';
$config = new Zend_Config(require '../application/config.php');
$title = $config->appName;
$params = $config->database->toArray();
Zend_Registry::set('title',$title);
$arrName = array('Mario Balducci', 'Federico Rossi',
'Sergio Parilli', 'Francesco Belli');
Zend_Registry::set('credits',$arrName);
$DB = new Zend_Db_Adapter_Pdo_Mysql($params);
$DB->setFetchMode(Zend_Db::FETCH_OBJ);
Zend_Registry::set('DB',$DB);
Zend_Controller_Front::run('../application/controllers');
?>
⤽
Abbiamo imparato come utilizzare
Creare un file chiamato “
Per leggere questo tipo di configurazione, usiamo in questo modo:
Segue il codice completo:
Utilizzo del file di configurazione XMLZend_Config
al post precedente. Ora, cerchiamo di realizzarlo tramite un file ini.Creare un file chiamato “
config.ini
” all’interno dell’applicazione. Inserisci il seguente esempio di configurazione:
Copia codice
; Sito in produzione. Dati di configurazione
[app]
webhost = www.esempio.com
title = Mia prima applicazione
database.host = localhost
database.username = root
database.password = password
database.dbname = zend
Copia codice
<?php
require_once 'Zend/Config/Ini.php';
$config = new Zend_Config_Ini('../application/config.ini','app');
$title = $config->appName;
$params = $config->database->toArray();
Copia codice
<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
date_default_timezone_set('Europe/Berlin');
$rootDir = dirname(dirname(__FILE__));
set_include_path($rootDir . '/library' . PATH_SEPARATOR . get_include_path());
require_once 'Zend/Controller/Front.php';
require_once 'Zend/Registry.php';
require_once 'Zend/Db/Adapter/Pdo/Mysql.php';
require_once 'Zend/Config/Ini.php';
$config = new Zend_Config_Ini('../application/config.ini','app');
$title = $config->appName;
$params = $config->database->toArray();
Zend_Registry::set('title',$title);
$arrName = array('Mario Balducci', 'Federico Rossi',
'Sergio Parilli', 'Francesco Belli');
Zend_Registry::set('credits',$arrName);
$DB = new Zend_Db_Adapter_Pdo_Mysql($params);
$DB->setFetchMode(Zend_Db::FETCH_OBJ);
Zend_Registry::set('DB',$DB);
Zend_Controller_Front::run('../application/controllers');
?>
⤽
Questa è un’altra alternativa per creare un file di configurazione. Possiamo memorizzare i dati di configurazione in un semplice formato XML. Per leggerlo, si usa
In primo luogo, creare un file XML denominato “
Per accedervi, si può usare:
Zend_Config_Xml()
.In primo luogo, creare un file XML denominato “
config.xml
” all’interno dell’applicazione. Inserire il seguente codice:
Copia codice
<?xml version="1.0"?>
<configdata>
<app>
<webhost>www.esempio.com</webhost>
<title>Mia prima applicazione</title>
<database>
<host>localhost</host>
<username>root</username>
<password>password</password>
<dbname>zend</dbname>
</database>
</app>
</configdata>
Copia codice
require_once 'Zend/Config/Xml.php';
$config = new Zend_Config_Xml('../application/config.xml','app');
Ancora nessun commento