Yii 快速学习笔记一

$this->renderPartial('login');

静态资源路径:
/assets/default/css
/assets/default/img
/assets/default/js

/assets/default/css/style.css

定义静态常量

/protected/config/constant.php

define("SITE_URL","http://网址/");
define("CSS_URL","SITE_URL"."/assset/default/css");

当入口引入常量配置

require_once (dirname(__FILE__).'/protected/config/constant.php');

模板文件中调用

<link href="<?php echo CSS_URL;?>style.css" rel="stylesheet" type="text/css"/>

样式文件中的背景图片:

background:url(../img/NavBg.gif)

布局设置

1.修改controller.php的布局模板路径 xxx.php
public $layout="//layouts/shop";
2. xxx.php内容
头
<?php echo $content;?>
尾

修改模板渲染方法
$this->render('register');

后台部署 gii(代码自动生成工具)

1.config/main.php 打开gii 模块
2. 设置密码
3.通过路由访问该模块
http://xxx/index.php?r=模块名字
http://xxx/index.php?r=gii  
填写密码

点击超链接
生成控制器
生成curd
生成from
生产model
生成model

在配置文件中引入模块

return [
	'modues'=>[
		'gii',
		'houtai'
	]
]


测试数据库连接
var_dump(Yii::app()->db);

模型

class Goods extends CActiveRecord{
	//返回当前模型对的静态方法
	public static function model($className=__CLASS){
		return parent::model($className);
	}
	//返回当前数据表的名字
	public function tableName(){
		return '{{goods}}';
	}
}


db 到底是谁?
main.php

			D:\www\ssss.com\frameword\web\CWebApplication.php
main.php  db(数据库组建)			D:\www\sss.com\framework\YiiBase.php     CDbConnection=>'/db/CDbConnection.php'
			D:\www\sss.com\framework\base\CApplication.php   (CDbConnection)


[
	'db'=>array(
		'class'=>'CDbConnection'
	)
]


打开Yii trace 

main.php

'class'=>'CWebLogRoute'



用模型查询一条记录
在控制器中写以下代码:

$goods_infos=$goods_model->find();
echo $goods_infos->goods_name;
echo $goods_infos->goods_price;

查询全部信息

$goods_infos=$goods_model->findAll();

foreach($goods_infos as $v){
	$v->goods_name."------".$v->goods_price."<br>";
}

通过sql语句查询数据

$sql="select good_name,good_price,goods_create_time from {{goods}} limit 10";
$goods_infos=$goods_model->findAllBySql($sql);

数据信息分配到前端模板

$goods_infos=$goods_model->findAll();
//renderPartial('视图名字',传递的数据信息)




模板中循环数据信息的代码

<?php
$i=1;
foreach($goods_infos as $v){
$i++
?>
<tr>
	<td><?php echo $i;?></td>
	<td><?php echo $v->goods_name;?></td>
	<td><?php echo $v->goods_price;?></td>
	<td><?php echo $v->goods_img;?></td>
	<td><?php echo $v->goods_brand_id;?></td>
	<td><?php echo $v->goods_create_time;?></td>
</tr>
<?php
}
?>


通过模型实现对数据的添加

function add(){
	$goods_model=new Goods();
	$goods_model->goods_name="Apple 5s";
	$goods_model->goods_price="5999";
	$goods_model->goods_weight=120;

	if($goods_model->save()){
		echo 'success';
	}else{
		echo "fail";
	}
}



开启预处理的参数信息展示
config/main.php
'enableParamLogging'=>true,




通过页面表单添加数据信息

在控制器方法中

function activeAdd(){
	$goods_model=new Goods();
	$this->renderPartial("add",['goods_model'=>$goods_model]);
}

在对应的模型中
function attributeLabels(){
	//parent::attributeLabels();
	return array(
		'goods_name'=>'商品名称',
		'goods_name'=>'商品名称',
		'goods_name'=>'商品名称',
		'goods_name'=>'商品名称',
		'goods_name'=>'商品名称'
	);
}

function rules(){
	return array(
		array('goods_name,goods_price','safe')		
	);
}

1.利用助手进行表单展现 助手:利用php程序生成php代码
2.widget 挂件生成表单
在模板中
<?php $form=$this->beginWidget("CActiveForm");?>====>  <form action="">

//商品名称:
<?php echo $form->labelEx($goods_model,'goods_name');?>
//<input type="text" name="f_goods_name"/>
<?php echo $form->textField($goods_model,'goods_name');?>

<?php $this->endwidget();?> =======></form>


数据添加处理方法

function add(){
	$goods_model=new Goods();
	if(isset($_POST['Goods'])){
		$goods_model->goods_name=$_POST['goods_name'];
		$goods_model->goods_price=$_POST['goods_price'];
		$goods_model->goods_number=$_POST['goods_number'];
		$goods_model->goods_category_id=$_POST['goods_category_id'];
		$goods_model->goods_brand_id=$_POST['goods_brand_id'];
		$goods_model->goods_introduce=$_POST['goods_introduce';
		$goods_model->goods_weight=$_POST['goods_weight'];
		$goods_model->goods_create_time=time();

		if($goods_model->save()){
			echo 'success';
		}else{
			echo 'fail';
		}
	}
	$this->renderPartial('add',array('goods_model'=>$goods_model));
}



代码优化


function actionAdd(){
	$goods_model=new Goods();
	if(isset($_POST['Goods'])){
		foreach($_POST['Goods'] as $k=>$v){
			$goods_model->$k=$v;
		}

		if($goods_model->save()){
			$this->redirect('./index.php?r=houtai/goods/update');
		}else{
			echo 'fail';
		}
	}
	$this->renderPartial('add',array('goods_model'=>$goods_model));
}


数据更新


在模板中添加链接

<a href="./index.php?r=houtai/goods/update&id=<?php echo $v->goods_id; ?>">修改</a>


function actionUpdate($id){
	//修改哪个商品,查询之
	//根据商品id查询商品信息
	$goods_model=Goods::model();	
	$goods_info=$goods_model->findByPk($id);
	//print_r($goods_info);  //new Goods()  insert    Goods::model()  update
	
	if(isset($_POST['Goods'])){
		foreach($_POST['Goods'] as $k=>$v){
			$goods_info->$k=$v;
		}
		if($goods_info->save()){
			$this->redirect('./index.php?r=houtai/goods/show');
		}
	}
	
	//数据分配到修改表单页面
	$this->renderPartial('update',['goods_info'=>$goods_info]);
}



//删除商品信息

function actionDel($id){
	$goods_model=Goods::model();
	$goods_info=$goods_model->findByPk($id);
	
	if($goods_info->delete()){
		$this->redirect('./index.php?r=houtai/goods/show');
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值