⑴ Yii::app()
就是Application的实例
你可以从index.php入口文件追踪
找到base\Application这个类的构造函数
其中:
Yii::$app = $this;
⑵ yii框架 数据库类CDbConnection 是如何进行工作的 。
Yii是开源软件,这意味着你可以直接查看其源代码了解他的工作原理。请参考专:
http://www.yiiframework.com/doc/api/1.1/CDbConnection
Yii的数据库驱动采用属PDO,对于不同数据库类型,使用相应的驱动接口,详细查看源代码framework/db/文件夹。
作为一个程序员,阅读代码就是最好的学习方式,希望对你有帮助。
⑶ yii2请问如何引入和使用第三方类库
composer引入
⑷ thinkphp与yii 哪个更优秀,分别是哪些方面优秀
yii更优秀,而且要比thinkphp优秀很多。
要回答分别是哪些方面优秀我们先要明白,框架是用来干什么的。
框架的作用:1、简化开发。2、提高工程的可维护性。3、规避编程语言本身的坑和陷阱。
那么我们就从这3个方面来讨论下着二者的优劣。
1、简化开发方面:从新手的视角来看(或者表面来看),thinkphp做项目更简单,因为其一提供了大部分web开发常用类库,其二中文手册写的很详细。但事实上,thinkphp有两个缺失的特性导致一旦项目做久或者稍微上规模,就会使人头痛不堪,这缺失的两个特性分别是:完整的AR支持以及完善的多层次模型
其次,web项目开发中大部分代码都是重复的,因此自动化代码生成工具是必不可少的,截至最新的tp3.2.3,我仍然没看到tp对自动化工具有任何支持的迹象
2、可维护性,缺失了完整的AR和多层次模型,代码不可能工整到哪里去,代码一多,源代码必然跟面条一样杂乱。最重要的时,TP没有unitTest,这导致重构都无门。同样,数据库方面,tp缺失了数据迁移工具,这都导致了项目后期维护由很大困难
3、规避编程语言本身的坑和陷阱:tp和Yii都是由PHP做的实现,PHP本身有很多的坑和陷阱,诸如混乱的语言结构与函数傻傻分不清的关系,变量转换的陷阱,凌乱不堪的类库命名。这些在yii里基本都得到了改善,Yii完全用面向对象的方式构建,常用web类库都以组件方式呈现,终于改善了PHP程序员边写代码边网络:‘XX功能该用哪个函数’的情况。反观TP,仅仅对常用类库封装成class,要用什么取什么,根本没做过精心的设计,完全像是一个多年的程序员攒了些类库,然后七拼八凑而成的一个框架,因此我常常说,thinkphp是个伪MVC框架。
⑸ yii2框架添加扩展类
yii2-gird 插件是Yii2.0的一个扩展。它在官方的girdview基础上扩展了一些实用的功能。
比如:内
把表格包装在bootstrap - panel标签容下,使之更美观;
Float Header功能,实现滑动表格的时候,表字段至于屏幕上方,方便查看;
新增操作栏说明label;
页面统计功能;
新增重置表格功能;
新增导出表格功能,包括四种常用格式[html、CSV、txt、Excel]。
非常感谢Kartik团队带来的好用的插件。Kartik团队的其他插件也很好用的。推荐试用。
安装yii2-grid
使用Composer安装,windows下cmd执行命令:
⑹ yii2框架怎么写model类
要讲原理来可能要讲CModel是怎么实现源的,以及在Application中如何引入的。来打开代码具体看看。
其实可以放在学习了From和数据相关的Model之后来分析原理,可能理解的更深入,但是打开CModel细细分析了解一下,会对后期的相关知识的学习更快速,因为通过类的代码注释,我们就看到了接下来类的使用和这些功能具体的定义。我想看明白了,就不需要再讲接下来的model的使用,完全可以自己了解和掌握。
在controller可以直接使用Model,而不用include源于框架的autoload。具体的代码。
至于Model一些超常特性,源于他爹。这世道,有啥,不如有个好爹,尤其是在zg。
⑺ yii的basic和advanced有什么区别详细的说一下
相同点:
都自带有用户模型(User),有一些基本页面about contact之类的,还有注册登录功能
不同:回
basic更适合新手(刚刚接触yii)答
adavanced分两个应用 一个叫frontend(前台) backend(后台),每个应用(App)就类似basic,只不过它将前台和后台分开了,这样可以方便前后台分别用不同域名(需要绑定)来访问,其实和basic稍微复杂一点,但不适合新手,适合学过yii的。
如果你是老手,可以下载一个adavanced来参考,自己搭一个框架(基于Yii2)
⑻ Yii找不到model类如何解决
你看看 model文件加下面有没有你要加载的文件,如果没有,就用gii生成一个或者自己建一个