应用组件
在YII开始加载的时候
首先实例化了CWebApplication类
CWebApplication extends CApplication
CApplication类的构造方法中 注册了应用组件
$components=array(
'coreMessages'=>array(
'class'=>'CPhpMessageSource',
'language'=>'en_us',
'basePath'=>YII_PATH.DIRECTORY_SEPARATOR.'messages',
),
'db'=>array(
'class'=>'CDbConnection',
),
'messages'=>array(
'class'=>'CPhpMessageSource',
),
'errorHandler'=>array(
'class'=>'CErrorHandler',
),
'securityManager'=>array(
'class'=>'CSecurityManager',
),
'statePersister'=>array(
'class'=>'CStatePersister',
),
'urlManager'=>array(
'class'=>'CUrlManager',
),
'request'=>array(
'class'=>'CHttpRequest',
),
'format'=>array(
'class'=>'CFormatter',
),
);
1.使用举例
browser使用的前提是要下载 browscap.ini
并且在 php.ini中指定
[browscap]
browscap = “路径/browscap.ini”
不过这样文件有13M 执行起来有1秒钟左右所以仅供测试
class IndexController extends CController{
public function actionIndex()
{
//request 为CHttpRequest的别名
var_dump(Yii::app()->request->browser);
}
}
结果
array (size=30)
'browser_name_regex' => string '§^mozilla/5\.0 \(.*windows nt 6\.1.*wow64.*\) applewebkit/.* \(khtml, like gecko\) chrome/39\..*safari/.*$§' (length=107)
'browser_name_pattern' => string 'Mozilla/5.0 (*Windows NT 6.1*WOW64*) AppleWebKit/* (KHTML, like Gecko) Chrome/39.*Safari/*' (length=90)
'parent' => string 'Chrome 39.0' (length=11)
'platform' => string 'Win7' (length=4)
'platform_version' => string '6.1' (length=3)
'win32' => string '' (length=0)
'win64' => string '1' (length=1)
'comment' => string 'Chrome 39.0' (length=11)
'browser' => string 'Chrome' (length=6)
'version' => string '39.0' (length=4)
'majorver' => string '39' (length=2)
'frames' => string '1' (length=1)
'iframes' => string '1' (length=1)
'tables' => string '1' (length=1)
'cookies' => string '1' (length=1)
'javascript' => string '1' (length=1)
'javaapplets' => string '1' (length=1)
'cssversion' => string '3' (length=1)
'minorver' => string '0' (length=1)
'alpha' => string '' (length=0)
'beta' => string '' (length=0)
'win16' => string '' (length=0)
'backgroundsounds' => string '' (length=0)
'vbscript' => string '' (length=0)
'activexcontrols' => string '' (length=0)
'ismobiledevice' => string '' (length=0)
'istablet' => string '' (length=0)
'issyndicationreader' => string '' (length=0)
'crawler' => string '' (length=0)
'aolversion' => string '0' (length=1)