yii2 总结
总结
1-1Yii2 获取模块名、控制器名、方法名 在视图中:
模块名 $this->context->module->id
控制器名 $this->context->id
方法名 $this->context->action->id
在控制器中
模块名 Yii::$app->controller->module->id;
控制器名 Yii::$app->controller->id
方法名 Yii::$app->controller->action->id;
或
模块名 $this->module->id;
控制器名 $this->id;
方法名 $this->action->id;
在控制器的 beforeAction 方法中(方法接收$action参数)
模块名 $action->controller->module->id;
控制器名 $action->controller->id;
方法名 $action->id;
1-2 事务使用
$transaction = Yii::$app->db->beginTransaction();
try{
if(0){
throw new Exception('操作失败!');
}
$data = Category::updateAll(['status'=>2],['id'=>15]);
if($data){
throw new Exception('操作失败!');
}
//以上执行都成功,则对数据库进行实际执行
$transaction->commit();
return true;
}catch (Exception $e){
$transaction->rollBack();
return false;
}
1-3 测试七牛上传
public function actionTest()
{
$img = UploadedFile::getInstanceByName('file');;
$path = Yii::$app->controller->id;
if(!empty($img)){
$pathinfo = pathinfo($_FILES['file']['name']);
$tempName = $_FILES['file']['tmp_name'];
$ext = $pathinfo['extension'];
$result = uploadImage($path,$tempName,$ext);
$imageSize = getimagesize($img->tempName);
var_dump($imageSize);die;
}
return '';
}
本作品采用《CC 协议》,转载必须注明作者和本文链接