Yii 2.0权威指南_yii2 权威-程序员宅基地

技术标签: 编程语言  

各个Yii2.0框架下载链接:https://github.com/yiisoft/yii2/releases

一.应用结构

1.模型

模型是MVC模式中一部分,是代表业务数据,规则和逻辑的对象。

属性代表业务数据,每个属性是模型的公有可访问属性。

echo $model->getAttributeLabel('name');

当属性显示或获取输入时,经常显示属性相关标签。应用支持多语言的情况下,可翻译属性标签。

注:属性标签是 视图一部分,  但是在模型中声明标签通常非常方便,并可形成非常简洁可重用代码。

二.常用组件

1.美化路由(urlManager)

去掉index.php       配置component组件

参考文章:https://blog.csdn.net/lmjy102/article/details/53857520

2.语言包的配置

参考文章:http://www.yii-china.com/post/detail/177.html

3.上传图片组件: http://www.yii-china.com/post/detail/15.html
4.富文本编辑器组件 : http://www.yii-china.com/post/detail/03.html

三.数据库操作

var_dump($data); exit(0);  测试函数

创建一个yii\db\Command的对象,调用对象的方法来执行SQL查询,返回值是字符型的数组

$posts=Yii::$app->db->createCommand('SELECT * FROM post')->queryAll();

SQL语句还可以绑定参数

$posts=Yii::$app->db->createCommand('SELECT * FROM post

where id=:id AND status=:status')

->bindValue(':id',$_GET['id']);

->bindValue(':status',2);

->queryOne();

1.Yii\db\command的优缺点
1>.简单,只需要处理SQL语句和数组即可
2>.高效,通过SQL语句来查询数据库非常高效

1>.不同数据库系统的SQL语句会有些差别,因此无法做到代码适用于多种数据库系统
2>.用数据,没有用到面向对象的方式来管理数据,代码难维护
3>.如果不小心,会留下SQL注入这种不安全的因素

 

1.ActiveRecord

ActiveRecord(活动记录,简称AR类)提供了一套面向对象的接口,用以访问数据库中的数据。

1》一个AR类关联一张数据表,每个AR对象对应表中的一行

2》AR对象的属性,对应为数据库中的列

3》可以直接以面向对象的方式来操纵数据表中的数据,这样就不需要写SQL语句就能实现数据库的访问。

2.声明ActiveRecord类

通过继承yii\db\ActiveRecord基类来声明一个AR类,并实现tableName方法,返回与之相关联的数据表的名称。

Class Post extends \yii\db\ActiveRecord{

      Public static function tableName(){

           Return ‘post’;

}

}

3.查询数据

AR提供了两种方法来构建DB查询,返回AR对象,

*Yii\db\ActiveRecord::find()静态方法

$model=Post::find()->where(['id'=>32])->one();

等价于Post::findOne(32);

$models=Post::find()->where(['statue'=>32])->all();

等价于Post::findAll([statue=>32]);

$models=Post::find()->where(['AND'[status=>1],[author_id

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/slqSLQSHILIQIANG/article/details/81746292

智能推荐

【刷题专栏—突破思维】LeetCode 138. 随机链表的复制-程序员宅基地

文章浏览阅读2.4k次,点赞68次,收藏54次。随机链表的复制涉及到复制一个链表,该链表不仅包含普通的next指针,还包含random指针,该指针指向链表中的任意节点或空节点。

小程序第四章总结-程序员宅基地

文章浏览阅读1.5k次,点赞38次,收藏28次。style。

php+mysql+基于php+MYSQL的旅游景点攻略的设计与实现 毕业设计-附源码301216_php与mysql课题设计-程序员宅基地

文章浏览阅读318次,点赞5次,收藏5次。本课题研究的“基于PHP的旅游景点攻略网站”就是为了使游客更加方便、快捷的了解旅游景点以及攻略信息而设计的。采取Mysql作为后台数据的主要存储单元,采用Thinkphp框架、Redis技术进行业务系统的编码及其开发,实现了本系统的全部功能。该系统实现了网站内部的各种工作流程计算机管理化,其中包括网站简介、景点分析、景点信息、旅游攻略、旅游心得、作品获奖等功能。_php与mysql课题设计

第十一章:项目风险管理-0317_变异性风险-程序员宅基地

文章浏览阅读988次。一、概念1.风险的两个属性:概率和影响2.风险管理是通过识别,分析和应对风险来提高正面机会的概率,降低负面机会的概率。3.风险敞口:未加保护的风险4.单个项目风险和整体项目风险5.变异性风险:项目所依赖的关键条件或制约因素出现异常改变,就会导致变异性风险。黑天鹅事件6.模糊性风险:未彻底确定的风险7.整合式风险管理二、规划风险管理1.风险分类已知风险和未知风险内部风险和外部风险商业保险和可保险风险未知风险又分已知-未知风险和未知-未知风险商业风险是指正常的经营,技_变异性风险

PL/SQL连接Oracle数据库及优化_数据库设计与plsql开发和优化-程序员宅基地

文章浏览阅读383次。系统:windows7旗舰版 64位。oracle数据库服务器版本:oracle11g。oracle数据库客户端版本:64位 Version 12.2.0.1.0。PL/SQL版本:【Version 12.0.7.1837(64 bit)】。一、下载: 1、官网下载: 官网下载速度慢,不推荐,官网网址【https://www.allroundautoma..._数据库设计与plsql开发和优化

Github 2024-04-06Rust开源项目日报Top10_rust著名的开源项目-程序员宅基地

文章浏览阅读1.1k次,点赞5次,收藏20次。根据Github Trendings的统计,今日(2024-04-06统计)共有10个项目上榜。_rust著名的开源项目

随便推点

2021-06-23程序人生-Hello’s P2P_.o编译后的目标文件汇编-程序员宅基地

文章浏览阅读97次。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar_.o编译后的目标文件汇编

Linux安装Jdk11步骤_linux jdk11-程序员宅基地

文章浏览阅读329次。【代码】Linux安装Jdk11步骤。_linux jdk11

Oracle 创建 DBLink 的方法-程序员宅基地

文章浏览阅读55次。1、如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: [c-sharp] view plaincopyprint? select * from user_sys_privs where privilege like upper('%DATABASE LINK%'); 如果没有,则需要使用 sysdba 角色给用..._oracle dblink创建

腾讯开源AppAgent,手机的大模型智能代理_腾讯 手机 模型-程序员宅基地

文章浏览阅读959次,点赞20次,收藏17次。而AppAgent采用了一种和RPA类似的方法,通过点击、滑动等模拟方式来操作APP,无需访问任何敏感数据,同时加上了大语言模型的理解和学习能力,使其效果更加出色以及增强适配性。也可以理解成大模型中的,人类反馈强化学习过程。据悉,AppAgent的功能与AutoGPT等智能代理类似,不依赖于操作系统的后台访问,而是通过UI界面进行点击、滑动等拟人化操作,与App进行交互操作。此外,视觉理解模块还可以利用机器视觉,进行图片对象和语义特征的提取,例如,识别图片内容、界面控件等,为后续的大脑、执行提供支持。_腾讯 手机 模型

【附学习笔记】为啥网络安全缺口这么大,还是这么缺网络安全工程师?-程序员宅基地

文章浏览阅读1.2k次,点赞28次,收藏30次。为啥网络安全缺口这么大,还是这么缺网络安全工程师?

c语言算法--栈--字符串处理1_c语言入栈存字符-程序员宅基地

文章浏览阅读46次。小明来对这个字符串进行操作,他会从头到尾检查这个字符串,如果发现有两个相同的字母并排在一起,就会把这两个字符都删掉。给定一个长度为n的字符串s,字符串由小写字母a…输出最后处理完成的字符串,有可能是空串。接下来一行一个长度为n的字符串s。你需要给出处理完成的字符串。直到没有相邻的相同字母。_c语言入栈存字符

推荐文章

热门文章

相关标签