yii学习笔记1_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > yii学习笔记1

yii学习笔记1

 2013/8/5 11:08:21  guhao022  程序员俱乐部  我要评论(0)
  • 摘要:先来上一个yii的视频教程,我传到网盘里的,有需要的可以下载,这里分享下:yii视频教程,点击不了的复制地址吧:http://www.kuaipan.cn/share.htm?s=pZrmc4rW2FYTTKFk-AOYA(gAAVqc=1、要使用YII命令行操作,先修改framework/yiic.batif"%PHP_COMMAND%"==""setPHP_COMMAND=php.exe的绝对路径2、创建第一个程序命令:%yii/framework/yiicwebapp/www/app3
  • 标签:笔记 学习 学习笔记

先来上一个yii的视频教程,我传到网盘里的,有需要的可以下载,这里分享下:yii视频教程,

点击不了的复制地址吧:http://www.kuaipan.cn/share.htm?s=pZrmc4rW2FYTTKFk-AOYA(gAAVqc=

?

1、要使用YII命令行操作,先修改framework/yiic.bat

? ? if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe的绝对路径

2、创建第一个程序

? ? 命令:% yii/framework/yiic webapp /www/app

3、yiic shell错误提示

? ? Error: index.php does not exist or is not an entry script file.

? 解决方法

? ? yiic shell ../../index.php //找到index.php文件

4、修改项目文件夹 protected/config/main.php

? ? 如果用Gii,去掉Gii的注释

? ? 默认数据库配置为sqlite,注释掉sqlite的配置,下面是mysql的配置,去掉注释

? ? 数据库后面写上要用的表名前缀 ?如'tablePrefix' => ?'tbl_',

5、利用Gii创建模型(Model)

? ? 访问Gii:http://localhost/blog/index.php?r=gii

? ? 输入密码,点Model Generator

? ? 一个数据表对应一个Model

6、实现CRUD操作

? ? Gii页面,转到Crud Generator

? ? 需要哪个模型实现CRUD操作就一个一个写上去生成

?

7、路由:http://localhost/yiidemo/index.php?r=user/login

?

8、创建一个控制器:UserController.php ? views文件夹也要有一个user文件夹

?

9、render是调用layout渲染一个view,并显示出来。

? renderPrtial直接显示一个view。

? renderText是显示一个静态的string字符串

?

10、修改布局文件:protected/components/Controller.php ?public $layout='//布局文件目录/布局文件名';

?

11、测试yii框架是否有连接上控制器

? ? 在控制器里面随便一个地方输出:var_dump(Yii::app()->db)

?

? ? Yii::app():Yii框架是纯OOP框架,每次web请求,相当于通过创建一个对象,让对象调用相关方法执行。对象是我们框架应用的核心对象,我们也可以通过代码获得这个应用对象(Yii::app())

?

12、find()会产生一条记录信息,其会返回一个直接对象出来

? ?我们可以通过对象调用自己的属性直接获得具体商品信息

? ?对象->属性;

?

? ?findAll() ?返回了一个数组,里边有好多对象元素信息,用foreach遍历然后才能输出

? ?find() ?直接返回了一个对象,可以通过对象获得具体商品信息。

?

? ?通过sql语句获得信息:fandAllBysql($sql)

?

13、表单处理

?

? ? <form>开始:<?php $form = $this->beginWidget('CActiveForm'); ?>

? ? </form>结束:<?php $this -> endWidget(); ?>

?

? ? //表单前面的名字(用户名:、商品名之类的,不过是用英文表示)

? ? <?php echo $form->labelEx($model,'字段名'); ?>

? ? //表单的输入框

? ? <?php echo $form->textField($model,'字段名',array('size'=>60,'maxlength'=>128)); ?>

? ? //表单的文字域

? ? <?php echo $form->textArea($model,'字段名',array('cols'=>30,'rows'=>5)); ?>

?

? ? checkBox():复选框

? ? dropDownList():下拉列表

? ? redioButton():单选按钮

? ? listBox():列表框

? ? passwordField():密码框

? ? fileField():上传控件

?

14、模型有两个关键方 ?/**

?

? ? 创建数据模型model对象

? ? new Goods(); ? ?调用save()方法的时候执行insert语句

? ? Goods::model(); 调用save()方法的时候执行update语句

?

?

? ? ?* 返回当前模型对象的静态方法

? ? ?* @param string $className

? ? ?* @return CActiveRecord

? ? ?*/

? ? public static function model($className = __CLASS__){

? ? ? ? return parent::model($className);

? ? }

?

? ? /**

? ? ?* 返回当前数据表的名字

? ? ?* @return string

? ? ?*/

? ? public function tableName(){

? ? ? ? return '{{数据表名,不带前缀}}';

? ? }

?

? ? 另外,表单前显示的中文要用attributeLabels()

? ? ?public function attributeLabels(){

? ? ? ? ? ? ?return array(

? ? ? ? ? ? ? ? ?'字段名' => '显示的中文名'

? ? ? ? ? ? ?);

? ? ?}

?

15、把数据传递到模版方法

? ? $this->render('模版名',array('传递的名字'=>需要传递的变量,......))

?

16、yii数据添加三个步骤

?

?

? ? 一、创建对象模型

? ? ? ? $model = new 模型类名;

? ? 二、要添加的字段数据

? ? ? ? $model -> 字段名 = '数据';

? ? ? ? $model -> 字段名 = '数据';

? ? ? ? $model -> 字段名 = '数据'

? ? 三、调用save()方法实现数据添加

? ? ? ? if($model -> save()){

? ? ? ? ? ? echo 'success';

? ? ? ? }else{

? ? ? ? ? ? echo 'fail';

? ? ? ? }

发表评论
用户名: 匿名