限时免费试用:欢迎注册 api.bigmodel.org ,快速体验大模型 API 接入服务。
当前位置:首页 >开发者 >网站框架 >后端框架

yii2 学习基础笔记

分类:后端框架时间:2019-01-01浏览:2295
	参考文档
		http://www.yiichina.com/doc/guide/2.0
	下载composer
	安装yii2
		https://packagist.org/packages/yiisoft/yii2-app-basic
		//安装插件,可以瞎子啊静态的文件
		composer global require "fxp/composer-asset-plugin:~1.0.0"
		//获取github token值
		https://github.com/settings/tokens

		//安装composer
			///--prefer-dist  下载压缩版
		composer create-project  yiisoft/yii2-app-basic yii --prefer-dist    

	压缩包安装
		压缩包安装  需要在web.php  cookieValidationKey 随机设置字符串


	目录结构
		composer.json  composer配置文件
		config/
			console.php 控制台应用配置信息
			web.php     web应用配置信息
		commands/      包含控制台命令类
		controllers/    控制器类
		models/         模型类
		runtime/      
		vendor/        composer包
		views/         视图文件
		web/		web应用目录
			assets/		静态资源文件
			index.php     入口文件
		yii         命令执行脚本


 
定义全局函数 
	/helper/function.php
		在文件中定义函数
	打开入口文件 index.php
		require(__DIR__.'../helper/function.php');
	
 

获取参数
	get
		$request = \Yii::$app->request;
		$id = $request->get('id',1);//给个默认值1
	post
		$uu = $request->post('uu','aaaa');//给个默认值aaaa

	$request->isGet;
	$request->isPost;
	$request->userIp;//获取用户的IP


控制器分配数据
	return $this->renderPartial('index');
	return $this->renderPartial('index',['data'=>$data]);

	输出  

compact
	$user = [.....];
	$article = '';
	return $this->renderPartial('index',compact('user','article'));
	return $this->render('index',compact('user','article'));

	//render 输出父模板的内容
	//renderPartial   输出本次渲染的内容
	定义父模板(c)
		public $layout = "home"  //layout/home
	模板之间的相互调用
		render('about'); ?>




字符串过滤
	use \yii\helpers\Html;
	use \yii\helpers\HtmlPurifier;
	name); ?>  //转为实体
	text); ?> //彻底过滤


模型的创建
	数据库的修改
		config/db.php
	模型
		use app\models\User

		$sql = "selecy * from user where uid = ".$id;
		User::findBySql($sql)->all();

	防sql注入
		selecy * from user where uid = 1
		selecy * from user where uid = 1 or 1=1  //查询出全部
		selecy * from user where uid = 1 ;drop table user;--   //删除user表

		$sql = "selecy * from user where uid = :id";
		User::findBySql($sql,[':id'=>$id])->all();


	model
		查看
			//获取所有数据
			$data = User::find()->all();
			$data = User::find()->>where(['id'=>1])->all();
			$data = User::find()->>where(['>','id',3])->all();
			$data = User::find()->>where(['between','id',3,9])->all();
			$data = User::find()->>where(['like','title','我名字'])->all();
			
			$data = User::find()->>where(['id'=>1])->one();
			$data = User::findOne(5);//id=
			$data = User::findAll([3,5,7,9]);

			转换为数组
			$data = User::find()->>asArray()->all();

			//分批次获取数据,减缓内存压力
			foreach(User::find()->batch(10) as $article){
				$data[] = $article;
			}


		添加
			$article = new Article();
			$article->title = 'sssssss';
			$article->num = 10;
			$data = $article->insert();
			$data = $article->save();
			获取id
			$id = $article->attributes['id'];


		 修改
			$article = User::findOne(5);//id=
			$article->title = '';
			$data = $article->updata();
			$data = $article->save();

			自增
			Article::updateAllCounters(['num'=>1],['id'=>8]);


		删除
			$article = User::findOne(5);//id=
			$article ->delete();

			Article::deleteAll();
			Article::deleteAll('id=11');
			Article::deleteAll('id>:id and num < :num',[':id'=>13,':num'=>100]);

一对多查询
	
	$list = $category->hasMany('app\models\Article',['cate_id'=>'id'])->all();
	$list = $category->hasMany(Article::className(),['cate_id'=>'id'])->all();

	$article = Article::find->with('category')->asArray()->all()

本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。
【上一篇】:没有了
【下一篇】:没有了
0/500
Share your thoughts respectfully.