位置: 编程技术 - 正文
推荐整理分享YiiFramework入门知识点总结(图文教程)(framework教程),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:frameswork,eframework理解,framework教程,eframework理解,framed work,frame. work,frame. work,frameswork,内容如对您有帮助,希望把文章链接给更多的朋友!
本文总结了YiiFramework入门知识点。分享给大家供大家参考,具体如下:
创建Yii应用骨架
web为网站根目录yiic webapp /web/demo
通过GII创建model和CURD时需要注意
1、Model Generator 操作
即使在有表前缀的情况下,Table Name中也要填写表的全名,即包括表前缀。如下图:
2、Crud Generator 操作
该界面中,Model Class中填写model名称。首字母大写。也可参照在生成model时,在proctected/models目录中通过model generator生成的文件名。如下图:
如果对news、newstype、statustype这三个表生成CURD控制器,则在Model Generator中,在Model Class中输入:News、newsType、StatusType。大小写与创建的文件名的大小写相同。如果写成NEWS或NeWs等都不可以。
创建模块注意事项
通过GII创建模块,Module ID一般用小写。无论如何,这里填写的ID决定main.php配置文件中的配置。如下:
路由
system表示yii框架的framework目录application表示创建的应用(比如d:wwwrootblog)下的protected目录。application.modules.Admin.AdminModule表示应用程序目录(比如:d:wwwrootblogprotected)目录下的modules目录下的Admin目录下的AdminModules.php文件(实际上指向的是该文件的类的名字)system.db.*表示YII框架下的framework目录下的db目录下的所有文件。
控制器中的accessRules说明
看以上代码注释。
user: represents the user session information.详情查阅API:CWebUserCWebUser代表一个Web应用程序的持久状态。CWebUser作为ID为user的一个应用程序组件。因此,在任何地方都能通过Yii::app()->user 访问用户状态
getter方法或/和setter方法
model/User.php
更多相关:
模型中的rules方法
说明:
1、验证字段必须为用户输入的属性。不是由用户输入的内容,无需验证。2、数据库中的操作字段(即使是由系统生成的,比如创建时间,更新时间等字段——在boyLee提供的yii_computer源码中,对系统生成的这些属性没有放在safe中。见下面代码)。对于不是表单提供的数据,只要在rules方法中没有验证的,都要加入到safe中,否则无法写入数据库。
yii_computer的News.php模型关于rules方法
视图中显示动态内容三种方法
1、直接在视图文件中以PHP代码实现。比如显示当前时间,在视图中:2、在控制器中实现显示内容,通过render的第二个参数传给视图
控制器方法中包含:
视图文件:调用的render()方法第二个参数的数据是一个array(数组类型),render()方法会提取数组中的值提供给视图脚本,数组中的 key(键值)将是提供给视图脚本的变量名。在这个例子中,数组的key(键值)是time,value(值)是$theTime则提取出的变量名$time是供视图脚本使用的。这是将控制器的数据传递给视图的一种方法。
3、视图与控制器是非常紧密的兄弟,所以视图文件中的$this指的就是渲染这个视图的控制器。修改前面的示例,在控制器中定义一个类的公共属性,而不是局部变量,它是值就是当前的日期和时间。然后在视图中通过$this访问这个类的属性。
视图命名约定
视图文件命名,请与ActionID相同。但请记住,这只是个推荐的命名约定。其实视图文件名不必与ActionID相同,只需要将文件的名字作为第一个参数传递给render()就可以了。
DB相关
也可以使用$condition 指定更复杂的查询条件。不使用字符串,我们可以让$condition 成为一个CDbCriteria 的实例,它允许我们指定不限于WHERE 的条件。例如:
注意,当使用CDbCriteria 作为查询条件时,$params 参数不再需要了,因为它可以在CDbCriteria 中指定,就像上面那样。
一种替代CDbCriteria 的方法是给find 方法传递一个数组。数组的键和值各自对应标准(criterion)的属性名和值,上面的例子可以重写为如下:
其它
1、链接
具体查找API文档:CHtml的link()方法具体请查找API文档:CController的createUrl()方法
以上两个连接效果等同
组件包含
一个示例:
在视图中底部有如下代码:
打开protected/components下的Notice.php文件,内容如下:
渲染的视图banner,是在protected/components/views目录下。
具体查看API,关键字:CPortlet
获取当前host
关于在发布新闻时添加ckeditor扩展中遇到的情况
echo Yii::app()->basePath
如果项目目录在:d:wwwrootblog目录下。则上面的值为d:wwwrootblogprotected。注意路径最后没有返斜杠。
echo Yii::app()->baseUrl;
如果项目目录在:d:wwwrootblog目录下。则上面的值为/blog。注意路径最后没有返斜杠。
(d:wwwroot为网站根目录),注意上面两个区别。一个是basePath,一个是baseUrl
其它(不一定正确)
在一个控制器A对应的A视图中,调用B模型中的方法,采用:B::model()->B模型中的方法名();
前期需要掌握的一些APICHtml
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
Yii快速入门经典教程 本文讲述了Yii快速入门教程。分享给大家供大家参考,具体如下:Ⅰ、基本概念一、入口文件入口文件内容:一般格式如下:php$yii=dirname(__FILE__).'/../../f
从性能方面考虑PHP下载远程文件的3种方法 今天在做导出Excel的时候,总是要测试导出的Excel文件,频繁的下载和打开,很麻烦就想着写段代码一气呵成服务端导出Excel==下载Excel文件到本地==并打
PHP远程调试之XDEBUG 开发的时候我都是使用XDebug在本地调试,但是最近加入一些项目中去,环境太复杂了,要在本地搭建一个开发环境真的太麻烦了,那么我们怎么使用xdebu
标签: framework教程
本文链接地址:https://www.jiuchutong.com/biancheng/284306.html 转载请保留说明!友情链接: 武汉网站建设