Yii中的公共方函数封装与db读写分离,为测试方便,缓存暂时配置为file

来源:互联网 发布:淘宝店铺利益点案例 编辑:程序博客网 时间:2024/06/11 20:46

1. 在protected/config目录中新建文件 globals.php

2. 在index.php中增加

$globals=dirname(__FILE__).'/protected/config/globals.php';require_once($globals);

3. globals.php中的内容如下:

<?phpfunction user(){return Yii::app()->getUser();}function app(){return Yii::app();}function param($name){return app()->params[$name];}function dump($target){return CVarDumper::dump($target, 10, true) ;}function debug(){$args = func_get_args();call_user_func_array(array('Debug','thin'),$args);}function cache(){return app()->cache;}# db function beginfunction db($dbname=''){if ($dbname){return Yii::app()->$dbname;}else{return Yii::app()->db;}}function execute($sql='',$dbname='write'){$db=db($dbname);return $db->createCommand($sql)->execute();}function fetch($sql='',$dbname='read'){$db=db($dbname);return $db->createCommand($sql)->queryRow();}function fetchAll($sql='',$dbname='read'){$db=db($dbname);return $db->createCommand($sql)->queryAll();}function fetchCol($sql='',$dbname='read'){$db=db($dbname);return $db->createCommand($sql)->queryScalar();}# db function end function h($text){return htmlspecialchars($text,ENT_QUOTES,Yii::app()->charset);}function l($text, $url = '#', $htmlOptions = array()){return CHtml::link($text, $url, $htmlOptions);}function url($route,$params=array(),$ampersand='&'){return Yii::app()->createUrl($route,$params,$ampersand);}

4. 数据库与缓存

array('components'=>array('fixture'=>array('class'=>'system.test.CDbFixtureManager',),'db'=>array('connectionString' => 'mysql:host=127.0.0.1;port=3306;dbname=dbname','emulatePrepare' => true,'username' => 'root','password' => '','charset' => 'utf8','tablePrefix'=>'t_','enableProfiling'=>true,'schemaCachingDuration'=>0,'enableParamLogging'=>true,),'read'=>array('class'=>'CDbConnection','connectionString' => 'mysql:host=127.0.0.1;port=3306;dbname=dbname','emulatePrepare' => true,'username' => 'root','password' => '','charset' => 'utf8','tablePrefix'=>'t_','enableProfiling'=>true,'schemaCachingDuration'=>0,'enableParamLogging'=>true,),'write'=>array('class'=>'CDbConnection','connectionString' => 'mysql:host=127.0.0.1;port=3306;dbname=dbname','emulatePrepare' => true,'username' => 'root','password' => '','charset' => 'utf8','tablePrefix'=>'t_','enableProfiling'=>true,'schemaCachingDuration'=>0,'enableParamLogging'=>true,),'cache'=>array('class'=>'system.caching.CFileCache',//'directoryLevel'=>'2',),


原创粉丝点击