urlManager地址美化,经过程序的方式实现地址的美化工做
http://xxxxx.com/index.php?r = user/login
变成
http://xxxx.com/index.php/user/login
以路由的方式作路由的转换
变成(加上后缀):
http://xxxx.com/index.php/user/login.html
配置URLManager组件:
这个是动态的配置路由
伪静态配置.htaccess
【错误页面的处理】
訪问一个错误的控制器
訪问一个错误的方法
有些控制器和方法禁止訪问
以上错误信息是不方便给外边用户看到的。
错误信息在site/error这个地方定义的
还有就是debug模式要关闭。
才干看到本身定义错误
【主题文件夹】
配置使用主题:
【面包屑】
这是单独的view页面展现
view下的布局(layout)展现:
经过小物件widget实现面包屑的显示。
【数据处理DAO】
Yii框架对数据处理可以经过两种方式:AR/DAO
前者主要是对简单的sql语句处理
后者才是处理复杂的sql语句
两种使用的基础是PDO。php data object
php数据对象PDO就是为了兼容php处理各类数据库(mysql/oracle/sqlserver)咱们
定义一条sql语句就可以在mysql/oracle/sqlserver不一样数据库来执行。
AR:处理数据 CActiveRecord
DAO:对数据的处理 CdbCommand CDbDataReader
//DAO方式的 插入动做
php
public function actionCreate()html
{mysql
$res=Yii::app()->db->createCommand()->insert("user",array(sql
'username'=>'水墨淡清',数据库
));服务器
dump($res,FALSE);oracle
dump(Yii::app()->db->getLastInsertID());//获取最新插入的IDapp
}框架
//DAO方式的 修修改做sqlserver
public function actionUpdate()
{
$res=Yii::app()->db->createCommand()->update('user',array(
'username'=>'我是来玩的'
), 'id=:id',array(':id'=>24));
dump($res);
}
//DAO方式的 删除动做
public function actionDelete($id)
{
$id=trim($id);
$res=Yii::app()->db->createCommand()->delete('user','id=:id',array(':id'=>$id));
dump($res);
}
//单条数据查询 queryRow()
public function actionRow()
{
$row=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id=:id',array(':id'=>2))->queryRow();
dump($row);
}
//多条数据查询 queryAll()
public function actionAll()
{
$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id>:id',array(':id'=>1))->queryAll();
dump($all);
}
//统计数据数量 queryScalar()
public function actionScalar()
{
$scalar=Yii::app()->db->createCommand()->select('count(1)')->from('user')->where('id>:id',array(':id'=>1))->queryScalar();
dump($scalar);
}
//查询所有的ID
public function actionColumn()
{
$ids=Yii::app()->db->createCommand()->select('id')->from('user')->where('id>:id',array(':id'=>1))->queryColumn();
dump($ids);
}