上一节主要是分析了yii2的自动加载函数,下面在分析一下yii2的核心组件与服务定位器。
其实yii2的核心组件主要有以下:
//日志组件
'log' => ['class' => 'yii\log\Dispatcher'],
//视图组件,这个组件代表视图文件中的$this
'view' => ['class' => 'yii\web\View'],
//格式化组件,将一些输出按照一定的格式化显示
'formatter' => ['class' => 'yii\i18n\Formatter'],
//国际化组件,切换不同的语言版本
'i18n' => ['class' => 'yii\i18n\I18N'],
//邮件组件
'mailer' => ['class' => 'yii\swiftmailer\Mailer'],
//url美化设置组件
'urlManager' => ['class' => 'yii\web\UrlManager'],
//资源包管理组件
'assetManager' => ['class' => 'yii\web\AssetManager'],
//安全设置组件
'security' => ['class' => 'yii\base\Security'],
//请求组件
'request' => ['class' => 'yii\web\Request'],
//响应请求组件
'response' => ['class' => 'yii\web\Response'],
//session组件
'session' => ['class' => 'yii\web\Session'],
//用户组件
'user' => ['class' => 'yii\web\User'],
//错误处理组件
'errorHandler' => ['class' => 'yii\web\ErrorHandler'],
//缓存组件
'cache' => ['class' => 'yii\redis\Cache'],
//数据库连接组件
'db' => ......
以上这些组件可以在config.php配置,例如:
'components' => [
'request' => [
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => '123456',
],
'cache' => [
'class' => 'yii\redis\Cache',
'redis' => [
'hostname' => '192.168.1.19',
'port' => 6380,
'database&