global.php
<?php
// <editor-fold defaultstate="collapsed" desc="user-description">
// </editor-fold>
$_CFG = array();
// <editor-fold defaultstate="collapsed" desc="###DOMAIN, URL, DIR, FILE CONFIGS">
$_CFG['domain']='phn.test';
$_CFG['app']='phn.test';
//$_CFG['base_dir']='/sub'; //for subdir installation , default as root
$_CFG['upload_dir']=INDEX_DIR . '/assets/upload';
$_CFG['base_url']='http://'.$_CFG['domain'];
$_CFG['upload_url']=$_CFG['base_url'].'/assets/upload';
$_CFG['assets_url']=$_CFG['base_url'].'/assets';
$_CFG['auth_url']=$_CFG['base_url'].'/auth';
$_CFG['admin_url']=$_CFG['base_url'].'/admin';
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###HTML:title, meta, css, js">
$_CFG['html'] = array(
'site_name'=>&$_CFG['domain'],
'site_type'=>'website',
'site_image'=>$_CFG['assets_url'].'/sitethumb.png',//default site thumbnail
'title'=>"welcome to the page",
'meta_description'=>'default description',
'meta_keywords'=>'default keywords',
'meta_author'=>'default author',
'css'=>array( //'css url only' | [ ['jqueryui']=>"css url" || [ 'id','src'|'code'],...];
'bootstrap'=>$_CFG['assets_url'].'/share/vendor/bootstrap/css/bootstrap.all.min.css',
'jqueryui'=>'//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/cupertino/jquery-ui.css',
'common'=>$_CFG['assets_url'].'/share/css/common.css'
),
'js'=>array( //[ ['jquery']=>"js url" || [ 'id','src'|'code','head'| 'foot'],...]
//head js
//'modernizr'=>$_CFG['assets_url'].'/share/js/modernizr-2.6.2.min.js',
//foot js
'jquery' =>array('foot'=>true,'src'=>'//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js'), //2.0.2
'jquery-backup' =>array('foot'=>true,'code'=>'window.jQuery || document.write(\'<script src="'.$_CFG['assets_url'].'/share/vendor/jquery-1.10.1.min.js"><\/script>\')'),
'jqueryui' =>array('foot'=>true,'src'=>'//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js'),
'bootstrap' =>array('foot'=>true,'src'=>$_CFG['assets_url'].'/share/vendor/bootstrap/js/bootstrap.js'),
'jquery-extra' =>array('foot'=>true,'src'=>$_CFG['assets_url'].'/share/js/extra-1.0.src.js'),
'common' =>array('foot'=>true,'src'=>$_CFG['assets_url'].'/share/js/common.js'),
)
);
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###SESSION">
$_CFG['session_expire'] = 1800;
$_CFG['cookie_expire'] = 1209600; // 2 weeks
$_CFG['cookie_path'] = '/'; //from root
$_CFG['cookie_domain'] = &$_CFG['domain'];
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###DEBUG">
/*
* =0 : disable ( warning , exception , all debug info... )
* =1 : normal : warning , exception : inline , all debug info show at end of page
* =2 : warning , exception , all debug info show at end of page
* =3 : all dump to console.log
* ...
*/
$_CFG['debug_mode']=1;
$_CFG['debug_benchmark']=true; //milliseconds
$_CFG['debug_db']=true;
$_CFG['debug_db_dump']=true;
//$_CFG['debug_mode']=''; jsconsole, file, inline
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###TEMPLATE,THEME URL">
$_CFG['theme_dir']=INDEX_DIR . '/assets/themes';
$_CFG['theme_url']=$_CFG['assets_url'] . '/themes';
$_CFG['theme_cache_dir']=SRC_DIR . '/tmp/cache/tpl';
$_CFG['theme_tpl_compiled']=SRC_DIR . '/tmp/cache/tpl_compiled';
$_CFG['theme_default']='default';
//$_CFG['output_gzip']=true; //gzipped output
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###SECURITY">
$_CFG['signature']="";
$_CFG['auth_key']="";
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###DATABASE">
$_CFG['db']['default'] =array(
'dsn'=>'mysql:dbname=phn;host=127.0.0.1',
'usr'=>'root',
'pwd'=>'mysqlrootez190',
'options'=>array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''),
//'debug'=>true//turn on or off individual db
);
$_CFG['db']['share'] =array(
'dsn'=>'mysql:dbname=ezshare;host=127.0.0.1',
'usr'=>'root',
'pwd'=>'mysqlrootez190',
'options'=>array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''),
//'debug'=>true
);
$_CFG['db']['mongodb'] =array(
'dsn'=>'mongodb://localhost',
'usr'=>'',
'pwd'=>'',
);
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###ROUTING">
$_CFG['route']=array(
//default :
/**
* method = GET, group=null (controller group), controller=Index, action = index, app = Main
*/
//'^index/(\d+)/(\d+)'=>array('method'=>'GET','controller'=>'Index','action'=>'index','app'=>'Main'),
//wildcard
'*'=>array('method'=>'GET','controller'=>'Index','action'=>'index'),
'app1'=>array('method'=>'GET','controller'=>'Index','action'=>'index','app'=>'App1'),
'admin'=>array('group'=>'Admin'),//admin index
//'admin/crud'=>array('group'=>'Admin','controller'=>'Crud'),
'usercp'=>array('group'=>'User'),//usercp index
//'usercp/crud'=>array('group'=>'Admin','controller'=>'Crud'),
'hello/world'=>function($path){
echo "func" . $path;
},
//dau ^ nghia la dung regular expression, còn lại dùng isset exactly match ( no case )
'^.*hello/world.*'=>function($path,$match1=null,$match2=null){
echo $path;
}
);
//default path as Controller/action
$_CFG['route_default']=array(
'auth'=>'Auth/index',
'404'=>'ErrorMsg/err404',
'errDB'=>'ErrorMsg/errDB',
'uncs'=>'ErrorMsg/uncs',
'stop'=>'ErrorMsg/stop',
'redir'=>'ErrorMsg/redir'
);
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###LOCALE">
//default locale determined by $_GET['loc']
$_CFG['locale_by_db'] = true; //determine by geodb ( ip->country locale )
$_CFG['locale_by_header'] = true; //determine by http header
$_CFG['locale']= 'en_US'; //default if undetermined
//gettext
$_CFG['textdomain'] = 'global'; // mặc định dùng global
$_CFG['bindtextdomain'] = array(
'global'=>SRC_DIR .'/locale',
//nếu có thêm app thì '$AppName'=>SRC_DIR .'/application/$AppName/locale',
//chú ý tại 1 thời điểm gettext chỉ hoạt động với current textdomain, do vậy cần phải textdomain($domain); để chuyển ngữ cảnh
//file naming : global.mo / $AppName.mo
);
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###API Keys">
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="###OTHER SECTIONS">
// </editor-fold>