开了opcache么?是本地跑的么?如果是本地,一个简单cms,竟然要400+、600+ms,本来就很有问题,对比似乎也就没有太大说服力,我觉得用yii2-app-basic做测试可能更好。
执行SQL查询并缓存结果
$styleId = Yii::$app->request->get('style');
$collection = Yii::$app->db->cache(function($db) use($styleId){
return Collection::findOne(['style_id'=>$styleId]);
}, self::SECONDS_IN_MINITUE * 10);
修改返回的数据格式(详见Response::FORMAT_XXXX)
$result = array('code' => $code, 'msg' => $msg, 'data' => $data);
$callback = Yii::$app->request->get('callback',null);
$format = $callback ? Response::FORMAT_JSONP : Response::FORMAT_JSON;
Yii::$app->response->format = $format;
if($callback){
return array(
'callback' => $callback,
'data' => $result
);
}
return $result;
修改登陆状态超时时间(到期后自动退出登陆) config/web.php中的components
'user' => [
'class'=>'yii\web\User',
'identityClass' => 'common\models\User',
'loginUrl'=>['/user/sign-in/login'],
'authTimeout' => 1800,//登陆有效时间
'as afterLogin' => 'common\behaviors\LoginTimestampBehavior'
],
发送邮件 1.config/config.php中的components配置
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'admin@gmail.com',
'password' => 'password12345678',
'port' => 587,//or 25/587
'encryption' => 'tls',//tls or ssl
]
],
2.使用
Yii::$app->mailer->compose()
->setFrom(['admin@gmail.com' => Yii::$app->name])
->setTo('admin@gmail.com')
->setSubject('test subject')
->setTextBody('test body')
->send();