第一次写博文,也不知道怎么写,不太熟悉,带小伙伴学习一样我日常使用的Yii框架。

PHP中的开发框架有很多,比如:ThinkPHP、Yii、CI、Laravel、Phalcon等。现在流行度最高的是Laravel框架,鉴于公司用的是Yii框架,就讲一讲Yii框架的基础操作。希望写好的就借鉴,写的不好的可以向我提出建议。

1.Yii框架是一个有MVC思想的框架,Model、View、Controller。该框架由美籍华人开发,相对于其他框架来说是一个重量级的框架。Yii框架有脚手架功能,可以自动生成目录结构(但一般情况下我都不用)。


2.脚手架功能 

利用Yii脚手架功能,生成目录结构

(1)、打开命令提示符窗口(Win7以管理员方式打开)

(2)、切换到项目中的framework文件夹里

(3)、输入如下命令,生成目录

yiic webapp ../app

      错误提示:"php.exe" 不是内部或外部命令,

      解决办法:将php的安装目录,配置到系统的path环境变量中

path环境变量的位置:我的电脑->属性->高级->环境变量->系统变量->Path

变量名:Path

变量值:adsfasdfasdfas;D:\php5.4

注意:必须把命令提示符窗关闭,重新打开


3.Yii的项目目录

app--------------------应用程序目录

assets---------------第三方资源包*******

css------------------样式表*******

images---------------图片*******

protected------------应用程序

commands-----------系统命令

components---------组件目录(自定义类)*******

Controller.php---所有控制器的父类

config-------------配置文件夹*******

main.php---------全局配置文件

controllers--------控制器*******

data---------------数据库脚本*******

extensions---------扩展类

messages-----------翻译过的信息

migrations---------数据库移植文件

models-------------模型*******

runtime------------运行时

views--------------视图*******

layouts----------布局文件夹

themes---------------主题目录

index.php------------入口文件

framework--------------yii资源包


4.命名规则

控制器的命名规则

(1)、必须采用大驼峰的命名规则

(2)、必须以Controller来结尾

IndexController.php

LoginController.php

       控制器中方法的命名

(1)、必须采用小驼峰的命名规则

(2)、必须以action来开头

actionIndex()

actionAdd()

actionInsert()

actionLogin()

       模型的命名规则

(1)、必须采用大驼峰的命名规则

(2)、必须以表名来命名

BbsInfo.php

Reviews.php


5.修改配置文件

(1)、设置默认控制器

"defaultController"=>"控制器/方法",

"defaultController"=>"index/index",

(2)、设置url的路由,开启pathinfo

/*

"urlManager"=>array(

......

),

*/

去掉上边代码的注释

(3)、设置数据库的配置信息

/*

"db"=>array(

......

),

*/

去掉上边代码的注释,并修改数据库信息


6.控制器显示指定的视图

(1)、显示指定的视图,但不调用布局文件

$this->renderPartial("视图名");

$this->renderPartial("视图名",array(名=>值,名=>值...));

               注:array数组是将值传给视图

(2)、显示指定的视图,但调用布局文件

$this->render("视图名");

$this->render("视图名",array(名=>值,名=>值...));

(3)可以使用include包含页面

include($this->viewpath ."/index.php");


7.数据库操作

(1)、查询多条记录,返回:二维数组

$result = $model->findAll();

$result = $model->findAll("条件");

$result = $model->findAll(array(

"condition"=>"条件",

"order"=>"排序",

"offset"=>起始值,

"limit"=>条数

));

$result = $model->findAllBySql("select语句");

(2)、删除记录,返回:受影响的行数

$result = $model->deleteAll();

$result = $model->deleteAll("条件");

$result = $model->deleteByPk(主键);

(3)、查询一条记录,返回:一维关联数组

$result = $model->find();

$result = $model->find(条件);

$result = $model->findByPk(主键);

$result = $model->findBySql("select语句");

(4)、修改记录,返回:受影响的行数

$result = $model->updateAll(一维关联数组);//修改表中的所有记录

$result = $model->updateAll(一维关联数组,条件);//改符合条件的记录

$result = $model->updateByPk(主键,一维关联数组);

(5)、添加记录,返回:受影响的行数

$model->字段名 = 字段值;

$model->字段名 = 字段值;

$model->字段名 = 字段值;

$result = $model->save();

(6)、执行select语句,返回:二维数组

$db = Yii::app()->db;

$st = $db->createCommand("select语句");

$rs = $st->queryAll();  //获得所有记录

(7)、执行select语句,返回:一维数组

$db = Yii::app()->db;

$st = $db->createCommand("select语句");

$rs = $st->queryRow();   //获得一条记录

(8)、执行insert、update、delete语句,返回:受影响的行数

$db = Yii::app()->db;

$st = $db->createCommand("insert|update|delete语句");

$result = $st->execute();

(9)、count查询     返回:数字

$result = $model->count();

$result = $model->count(条件);//查询符合条件的记录

$result = $model->countBySql("select语句");

注:Yii框架对聚合函数的封装只有count(),若想使用其他的聚合函数则用eg:

$result = $model->countBySql("select max(clickTimes) from bbsInfo");


其实在使用时候有很多也是灵活的,并不是那么死板。今天暂时分享到这里了,还会有后续分享哦

关于Yii框架的基础知识的更多相关文章

  1. Vue框架之基础知识

    在没有学习基础知识之前,我们需要下载vue的js文件,在使用vue语法之前引包 <script src='./vue.js'></script> 一.模板语法 模板语法是一种可 ...

  2. QTP自动化测试框架的基础知识

    1. 什么是自动化测试框架? 假定你有一个活,需要构建许多自动化测试用例来测试这个应用程序.当你对这个应用程序完成自动化测试后,你对自己创建脚本应该有什么期望吗?你难道不想要- 脚本应该按照预期的来执 ...

  3. TP框架---thinkphp基础知识

    php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困 ...

  4. 【大数据】了解Hadoop框架的基础知识

    介绍 此Refcard提供了Apache Hadoop,这是最流行的软件框架,可使用简单的高级编程模型实现大型数据集的分布式存储和处理.我们将介绍Hadoop最重要的概念,描述其架构,指导您如何开始使 ...

  5. Django学习---Web框架及基础知识

    Django学习---Web框架 web框架的本质 我们在学socket,我们创建一个socketserver,然后运行起来,有一个client客户端要连接socket服务端,连接上之后,如果两边都没 ...

  6. SpringMVC框架的基础知识;

    首先 在javaEE环境下,建立一个动态的web工程: 导入架包.... 建立一对多映射关系的封装类,这儿只写属性,getter和setter方法就不写了: 1: private String pro ...

  7. jQuery框架-1.基础知识

    jQuery简介 jQuery,顾名思义是JavaScript和查询(Query),jQuery是免费.开源的.它可以简化查询DOM对象.处理事件.制作动画.处理Ajax交互过程且兼容多浏览器的jav ...

  8. Monkey框架(基础知识篇) - monkey事件介绍

    Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事件.其他类型事 ...

  9. Monkey框架(基础知识篇) - monkey启动与参数介绍

    一.monkey启动 直接PC启动:> adb shell monkey [options] <count> shell 端启动:> adb shell >monkey ...

随机推荐

  1. 【转】如何成为一位优秀的创业CEO

    编者按:本文来自 Ryan Allis,是一位来自旧金山的创业者和投资人.在 2003 年创立了 iContact,并任 CEO. 做创业公司的 CEO 可以说是世界上最有挑战性的事情之一.你得让客户 ...

  2. Markdowm入门

    今天介绍一种非常好用的小巧性标记语言--Markdown,熟悉它的语法规则,这将会节省你很多编辑文本文档格式的时间,提高你的工作效率和学习效率. 一.什么是Markdown Markdown是一种可以 ...

  3. Shell中一键添加作者,版权信息

    第一步:编辑/etc/vimrc文件 [root@proxy ~]# cp /etc/vimrc /etc/vimrc.ori [root@proxy ~]# vim /etc/vimrc 第二步:直 ...

  4. Atom 编辑器试用

    简介 它号称"21世纪可黑客的文本编辑器".GitHub支持并开源,并支持跨平台.和brackets编辑器一样基于浏览器开发,意味着你可以使用less(包含css)来定制编辑器界面 ...

  5. java随机数生成的原理

    一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在 ...

  6. 每天学点Java小知识【1】

    一 Java标识符和关键字 1.标识符 作用:用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 组成规则:由字母.下划线.美元符号和数字组成,且第一个字符不能是数字字符.注意:标识 ...

  7. 关于ng的路由的几点想法(ui-view)

    在配置路由的时候,我们可以选择ng框架自带的路由,也可以使用第三方路由插件ui-router 注意: (1)在使用angular-ui-router的时候,必须先引入angular-ui-router ...

  8. 使用IO流实现音频的剪切和拼接

    需求: 使用IO流将指定目录下的若干个音频文件的高潮部分,进行剪切,并重新拼接成一首新的音频文件 思路(以两首歌为例): 第一首歌有一个输入流对象bis1.第二首歌有一个输入流对象bis2,他们公用一 ...

  9. Android常用adb命令

    1.进入手机命令行模式 adb shell 有多部手机的话 adb -s + 手机编号 + shell 2.安装apk adb install 然后将apk文件拖进命令行 卸载apk adb unin ...

  10. 常用 SQL 语句使用的总结

    --SQL 语句为表添加字段并设置默认值 alter table Student --表名 add fee --添加的字段名 int --字段类型 not null --是否为空 --默认值 --修改 ...