yii2的yii:t怎么使用

yii2的yii:t怎么使用,第1张

YII使用小记-Yii::t()-状态值匹配

1,使用updateCounters()来更新计数器字段

Book::model()->updateCounters(array('download_count'=>1),':id=id',array(':id'=>$id))

2,使用sendFile()来下载文件。

$type = LFilter::checkString($_GET['t'])

$dataProvider = Book::model()->findByPk($id)

$content = $this->renderPartial('book',array(

'dataProvider' =>$dataProvider,

'type' =>$type,

),true,false)

Yii::app()->request->sendFile($dataProvider->name.'.'.$type,$content)

3,设计数据库时候如果create_time,update_time字段为int(10).在模型中使用行为插件

public function behaviors()

{

return array(

'CTimestampBehavior' =>array(

'class' =>'zii.behaviors.CTimestampBehavior',

'createAttribute' =>'create_time',

'updateAttribute' =>'update_time',

)

)

}

4,如果有些字段使用1,2,3之类的数字存储,在程序中使用时候含义不明确。可以model中加入如下函数.

private static $_items = array()

public static function loadItems($type,$code=null)

{

self::$_items = array(

'status' =>array(

'1' =>Yii::t('dh','开启'),

'2' =>Yii::t('dh','关闭'),

),

'type' =>array(

'1' =>Yii::t('dh','产品'),

'2' =>Yii::t('dh','文章'),

),

)

return $code ? self::$_items[$type][$code] : self::$_items[$type]

}

5,多语言使用Yii::t()函数。

新建文件/protected/messages/zh_cn/message.php内容如下代码

return array('some message'=>'中文信息')

在view文件里如下

echo Yii::t('message','some message')

在config/main.php里加上:'language'=>'zh_cn',

显示结果就是:'中文信息'。

public function attributeLabels()

{

return array(

'verifyCode'=>Yii::t('default','验证码'),

'name'=>Yii::t('default','名字'),

'email'=>Yii::t('default','邮箱'),

'subject'=>Yii::t('default','标题'),

'body'=>Yii::t('default','内容'),

'required'=>Yii::t('default','变量"{var}"没有定义',array('{var}'=>$var))

)

}

6,数据库表使用了前缀,则使用{{$tableName}}。

public function tableName()

{

return '{{product}}'

7,Cookie的使用

//设置Cookie

$cookie=new CHttpCookie($name,$value)

$cookie=time()+60*60*24

Yii::app()->request->cookies[$name]=$cookie

//获取Cookie

$cookie=Yii::app()->request->cookies[$name]

$value=$cookie->value

//删除Cookie

$cookie = Yii::app()->request->getCookies()

unset($cookie[$name])

}

8,findAll()的使用

$params=array(

'select'=>'id,name,image',

'order'=>'total_point DESC',

'limit'=>5,

)

$this->findAll($params)

find()使用同理,只是返回一条数据。

9,readAll()返回数组结果集

$query = 'SELECT id,username FROM user'

$command = Yii::app()->db->createCommand($query)

return $command->query()->readAll()

yii2.0 官方提供两个模板

先说基本版:

只要修改 config/db.php

<?php

return [

'class' =>'yii\db\Connection',

'dsn' =>'mysql:host=localhostdbname=yii2',

'username' =>'root',

'password' =>'',

'charset' =>'utf8',

'tablePrefix' =>'hpcms_',

]

其中dbname是指数据库名、 host 是主机、 tablePrefix 是表前缀

高级版的也差不多,修改 common/config/main-local.php

配置参数和上述基本一致!

这样就可以链接数据库了(当然你得要启动mysql才可以,如果是其他数据库,请搜索一下,基本都是配置下参数即可)

对于如何 *** 作数据库(增删改查)请看文档ActiveRecord 以及Model (设计表结构后,可以用Gii快速生成Model)

想知道更多的话,看文档最实际


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10819117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存