欢迎光临Software MyZone,有问题可留言或到站点论坛发帖,争取第一时间帮忙解决 || 站点论坛:火龙论坛 || 淘宝小店:应小心的易淘屋 【欢迎大家提建设性意见】

php之ZendFramewor篇(二)zf+samrty index.php 配置

本文为firedragonpzy原创,转载务必在明显处注明:
转载自【Softeware MyZone】原文链接: 
http://www.firedragonpzy.com.cn/index.php/archives/497


<?php error_reporting (E_ALL & ~E_DEPRECATED & ~E_NOTICE);
date_default_timezone_set ( 'Asia/Shanghai' );
define('ROOT_PATH',($ROOT_PATH =dirname(__FILE__))? $ROOT_PATH : '..');
defined ( 'APPLICATION_PATH' ) || define ( 'APPLICATION_PATH', realpath ( dirname ( __FILE__ ) . '/../application' ) );
 defined ( 'APPLICATION_ENV' ) || define ( 'APPLICATION_ENV', (getenv ( 'APPLICATION_ENV' ) ? getenv ( 'APPLICATION_ENV' ) : 'production') );
set_include_path ( implode ( PATH_SEPARATOR, array (realpath ( APPLICATION_PATH . '/../library' ), get_include_path () ) ) );
set_include_path ( '.' . PATH_SEPARATOR . '../application/controllers/' . '../application/models/' . '../application/dao/' . PATH_SEPARATOR . get_include_path () );
//配置zf
require_once "Zend/Loader/Autoloader.php";
Zend_Loader_Autoloader::getInstance ()--->setFallbackAutoloader ( true );
 $registry = Zend_Registry::getInstance ();

$config = new Zend_Config_Ini ( '../application/configs/application.ini', null, true );
 Zend_Registry::set ( 'config', $config );
 $dbAdapter = Zend_Db::factory ( $config->database->db->adapter, $config->database->db->config->toArray () );
 $dbAdapter->query ( 'SET names utf8' );
 Zend_Db_Table::setDefaultAdapter ( $dbAdapter );
 Zend_Registry::set ( 'db', $dbAdapter );

require_once 'Zend/Log.php';
 require_once 'Zend/Log/Writer/Stream.php';
 $logger = new Zend_Log ( new Zend_Log_Writer_Stream ( '.' . $config->log->logger->path, 'a+' ) );
 Zend_Registry::set ( 'logger', $logger );

$view = new Zend_View ();
 $view->setScriptPath ( './templates/' );
 $view->setHelperPath('./templates/helpers', 'Zend_View_Helper');
 $registry ['view'] = $view;

include_once ("../library/Smarty/Smarty.class.php");
 $smarty = new Smarty ();
 $smarty->caching = false;
 $smarty->template_dir = "./templates/";
 $smarty->compile_dir = "./data/smarty/";
 $smarty->cache_dir = "./data/smarty/cache_c/";
 //$smarty->left_delimiter = "right_delimiter = "}>";
 $registry = Zend_Registry::getInstance ();
 $registry->set ( 'smarty', $smarty );

$front = Zend_Controller_Front::getInstance ();
 $front->setBaseUrl ( '/' );
 $front->setParam ( 'useDefaultControllerAlways', true );
 $front->setParam ( 'noViewRenderer', true );
 $front->setControllerDirectory ( '../application/controllers' );
 $front->throwExceptions ( true );
 Zend_Session::start();
 require_once 'Zend/Application.php';
 $application = new Zend_Application ( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' );
 $application->bootstrap ()->run ();

?>

详细解析可参考:Zend Framework和Smarty在php中的配置

Tags: , ,