Yii2.0学习重点笔记完全版.doc
《Yii2.0学习重点笔记完全版.doc》由会员分享,可在线阅读,更多相关《Yii2.0学习重点笔记完全版.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Yii2.0学习笔记1. 搭建环境及目录构造1.1搭建环境参照1: Yii2.0框架下载安装 - Yii中文网 参照2:yii2.0-advanced 高档版项目搭建(一) 1.2.目录构造basic/ 应用根目录composer.json Composer 配备文献,描述包信息config/ 包括应用配备及其他配备console.php 控制台应用配备信息web.php Web 应用配备信息commands/ 包括控制台命令类controllers/ 包括控制器类models/ 包括模型类runtime/ 包括 Yii 在运营时生成文献,例如日记和缓存文献vendor/ 包括已经安装 Com
2、poser 包,涉及 Yii 框架自身views/ 包括视图文献web/ Web 应用根目录,包括 Web 入口文献assets/ 包括 Yii 发布资源文献(javascript 和 css)index.php 应用入口文献yii Yii 控制台命令执行脚本2.某些常规配备2.1框架源设立在配备文献web.php中如下配备$config = vendorPath = D:xampphtdocswwwyii2-vendor,2.2设立默认布局2)在所在控制器中加入,public $layout=mymain;2.3设立默认控制器在yii2-vendoryiisoftyii2web. Appli
3、cation.php中public $defaultRoute = index;/默认路由2.4设立默认首页在配备文献web.php中如下配备,$config = defaultRoute=index,/设立默认路由2.5数据库连接配备在配备文献db.php中如下配备,本人数据库为wxj,顾客名root,密码为空 yiidbConnection, dsn = mysql:host=localhost;dbname=wxj, username = root, password = , charset = utf8,;2.6配备虚拟主机1)修改虚拟主机配备文献:xamppapacheconfext
4、rahttpd-vhosts.conf。给定相应域名和地址 DocumentRoot D:xampphtdocswwwSQprojectWeixinPayweb ServerName paycenter.social- ErrorLog logs/dummy-error.log CustomLog logs/dummy-access.log common2)找到C:WindowsSystem32driversetchosts添加127.0.0.1paycenter.social-3)在URL地址中直接输入paycenter.social-3数据模型model3.1 model格式Model类也
5、是更多高档模型如Active Record 活动记录基类,模型并不强制一定要继承yiibaseModel,但是由于诸多组件支持yiibaseModel,最佳使用它做为模型基类。在model中重要是指定相应表名和相应规则3.2 model数据库连接在配备文献db.php中return class = yiidbConnection, dsn = mysql:host=localhost;dbname=wxj, username = root, password = , charset = utf8,;3.3 model中增删改查在做增删改查是要引用数据模型 use WeixinPaymodels
6、WpUsers;3.3.1添加数据$model = newUser();$model-username = username;$model-age = 20;$model-insert();3.3.2删除数据User:deleteAll(name = 小伙儿); 删除 name = 小伙儿 数据;User:findOne($id)-delete();删除主键为 $id变量 值数据库;User:deleteAll(age :age AND sex = :sex,:age = 20,:sex = 1); 删除符合条件数据;3.3.3修改数据先查询到顾客名与密码匹配数据再修改其密码-执行写入动作$r
7、el = WpUsers:findOne(username = $username,password = $oldpassword);$rel-password = $password;if ($rel-save()3.3.4查询单表查询User:find()-orderBy(id DESC)-all(); 此办法是排序查询;User:findBySql(SELECT * FROM user)-all(); 此办法是用 sql 语句查询 user 表里面所有数据;User:find()-andWhere(sex = 男,age = 24)-count(id); 记录符合条件总条数;User:f
8、indOne($id); /返回 主键 id=1 一条数据;User:find()-where(name = ttt)-one(); /返回 name = ttt 一条数据;在顾客表中以姓名为查询条件$info = WpUsers:find()-where(username = $username)-asArray()-all();在顾客表中以姓名和密码为查询条件$re = WpUsers:find()-where(username = $username,password = $password)-asArray()-all();多表查询顾客表与角色表联合查询$id = $re0id;$li
9、st = WpUsers:find()-joinWith(wpRole)-where(wp_users.id = $id)-all();3.4数据验证在model中写一种rules办法进行验证,public function rules() return teacher_id,name,price,address,class_time,limit_num,description, required, message = 请输入attribute, on = create,update , limit_num,teacher_id,number,message = 请填入对的attribute,
10、on = create,update, class_time,compare_time,message = attribute不能不大于当前时间,on = create,update, limit_num, compare, compareValue = $this-use_num, operator = , message = attribute不能不不大于已招人数,已招人数为: . $this-use_num, on = update , description,safe ;注意,有些验证类型不支持message,mobile,string,min = 11,max = 11,tooSho
11、rt = attribute位数为11位,tooLong = attribute位数为11位,on = create,update,消息提示在tooShort和tooLong上面4视图层view4.1格式在views文献夹下建与控制器中办法同名文献夹(所有文献夹名称小写)视图文献为php文献,视图文献与1.1版本类似4.2注册CSS或JS办法:办法一:1)因在asset/AppAset.php中封装了一种类如下:namespace appassets;use yiiwebAssetBundle;/* * author Qiang Xue * since 2.0 */class AppAsset
12、 extends AssetBundle public $basePath = webroot; public $baseUrl = web; public $css = css/site.css, css/bootstrap.min.css,/布局 css/font-awesome.min.css,/小图标 css/ace-fonts.css,/字体 css/ace.min.css,/公共某些 ; public $js = js/jquery-2.0.3.min.js, js/bootstrap.min.js, js/ace.min.js, js/ace-extra.min.js, ; pu
13、blic $depends = yiiwebYiiAsset, yiibootstrapBootstrapAsset, ;2)即在视图文献中只需引用该类use appassetsAppAsset;AppAsset:register($this);即可调用公共类文献3)如需个性化调用办法二:1)类似办法一,在asset/AppAset.php中封装了一种类如下封装注册js办法public static function initJsAssets($js = ,$position = 3) if(is_array($js) & !empty($js) foreach ($js as $key =
14、$value) if(!is_array($valuejs) self:initJsAssets($valuejs,$valueposition); self:$obj-registerJsFile(self:$appAsset-baseUrl./js/.$js.?v=.Yii:getAlias(webStaticJsVersion),position=$position);2)在视图文献中先引用该类:如此便可以加载公共文献use WeixinPayassetsAppAsset;AppAsset:initAssets($this);3)如需个性化加载useWeixinPayassetsAppA
15、sset;AppAsset:initCssAssets(ace-skins.min.css,$this:POS_HEAD);beginPage()?head()?beginBody();?endBody();?endPage()?5控制器层controller5.1控制器格式1)与1.1版本类似控制器名采用大驼峰式命名,注意使用命名空间;办法名采用小驼峰命名2)如需使用自定义布局 public $layout = common;如果某办法下不采用布局文献,可在办法内 : $this-layout = false;清除公共布局也可写一种办法控制:如下代码(指定login与rest页面布局不生效)
16、/*清除公共布局*(non-PHPdoc)*seeyiiwebController:beforeAction()*/publicfunctionbeforeAction($action)if(!parent:beforeAction($action)returnfalse;if($action-id=loginor$action-id=reset)$this-layout=false;returntrue;5.2 模板显示并传值return $this-render(login);return $this-render(sigleinfo,info = $info);return $this-
17、redirect(Url:toRoute(wp-users/updatepwd);5.3 页面提示消息1)在控制器中成功:$session-set(username,yii:$app-request-post(username);失败:Yii:$app-getSession()-setFlash(error,您顾客名或密码输入错误);2)在views中先使用useyiibootstrapAlert;再写提示信息getSession()-hasFlash(success)echoAlert:widget(options=class=alert-success,/这里是提示框class,body=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Yii2 学习 重点 笔记 完全
限制150内