yii2.0 简单使用集锦 [ 2.0 版本 ]
在使用form表单提交上面放这个方法 防止报错
public $enableCsrfValidation = false;
控制器内跳转方法
return $this->redirect('index.php?r=index/lists');
带参数跳转到页面ps:去掉",['date'=>$re1]"即可直接从控制器跳转到视图层页面
return $this->render('u_list',['date'=>$re1]);
超链接跳转首页[原生] ps:如果知道内置写法请尽量不要用原生,以免给大家带来不便
<a href="index.php?r=index/index">首页</a>
超链接写法[内置]
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<?= Html::a('跳转页面', ['index/show']) ?>
<a href="<?= Url::to(['index/show']) ?>">链接跳转</a>
</body>
</html>
表单提交到index控制器下的logo方法
<form action="index.php?r=index/logo" method="post">
带参数超链接
<a href="index.php?r=zhou/delete&id=<?php echo $v['id']?>">刪除</a>
放到框架里的frontend/config/main.php 设置默认跳转首页 访问到 frontend/web即可
'defaultRoute'=>'index/index', 第九行:return [ 下面 'id' => 'app-frontend',的上面
视图层表单页面引用frontend\web下的jquery.js文件
<script type="text/javascript" src="<?php echo Yii::$app->request->baseUrl?>/jquery.js?>"></script>
原生sql语句使用ps:用内置gii方法或者手写model层才是yii操作数据库的正确方法
$sql = "select * from tables";
$re = Yii::$app()->db->createCommand($sql)->queruAll();
设置session ps: yii2 session的使用方法原文链接:http://www.kuitao8.com/20141213/3351.shtml
public function actionIndex()
{
//设置session
$session = Yii::$app->session;
$session->set('aa', 'aaa');
//OR
$session['ss'] = 'sss';
//OR
$_SESSION['dd'] = 'ddd';
return $this->redirect('index.php?r=index/show');
}
数组设置session ps:在控制器内使用session的时候要在上面加上:use yii\web\session;
public function actionIndex()
{
//数组session设置
$session = Yii::$app->session;
$session['user'] = [
'id' => 1,
'username' => 'yiiuser',
];
return $this->redirect('index.php?r=index/show');
}
读取session
public function actionShow()
{
// 读取session
$session = Yii::$app->session;
$aa = $session->get('aa');
//OR
$ss = $session['ss'];
//OR
$dd = isset($_SESSION['dd']) ? $_SESSION['dd'] : null;
echo $aa; echo "<br>"; echo $ss; echo "<br>"; echo $dd;
die;
}
数组读取session
public function actionShow()
{
//数组session读取
$session = Yii::$app->session;
echo $session['user']['id'];
echo $session['user']['username'];
echo "<br>";
$session1 = $session['user.id'] = 1;
$session2 = $session['user.username'] = 'yiiuser';
echo $session1;
echo $session2;
}
session销毁
public function actionDestroy()
{
//销毁session
$session = Yii::$app->session;
$session->remove('user_id');
//OR
unset($session['user_id']);
//OR
unset($_SESSION['user_id']);
}
yii2中的gii使用有一位“白狼栈”的大哥总结的很好建议想了解gii的大家去看看
熊本污 天下熊熊一般污
注册时间:2016-05-03
最后登录:2016-09-21
在线时长:6小时36分
最后登录:2016-09-21
在线时长:6小时36分
- 粉丝8
- 金钱615
- 威望140
- 积分2075
共 7 条评论
在yii2中使用链接不要用a标签,如果你的url规则有改变,你要逐个去修改链接。
正确的使用方法如下:
<?= Html::a('链接文本', ['site/index']) ?>
<a href="<?= Url::to(['site/index']) ?>"></a>
我给你99分 多一分怕你骄傲
整体上还是很不错的.
public $enableCsrfValidation = false;
这个用法注意,是禁用当前controller/action 的csrf校验. 除知道自己在做什么否则还是尽量不要设置为false.可以说一下你是怎么写的吗?
我试了一下,我直接把你的两种方法复制上去会报错
报什么错了?
@╃巡洋艦㊣ 第一个Class 'Html' not found 第二个Class 'Url' not found
@熊本污 你要引入助手类
use yii\helpers\Html;
use yii\helpers\Url;
@╃巡洋艦㊣ 谢谢,
几个问题说一下,免得新人被误导
谢谢提醒 已经更正
赞,就适合我这样的新手。
。。。有点坑
俺是新手,您说哪里不行 我改好不好
@熊本污 没没没,我比你更新手。。。不过就是index.php太多了
@yidashi 主要是我怕有些人急着用还看不懂,所以就写的繁琐了一点
有什么我没写到的 请提示我一下,谢谢
//redirect 是数组 ‘控制器/方法’ 参数 id =$id
$this ->redirect(['subject/info','id' =>$id]);