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' => 'ziibehaviorsCTimestampBehavior',

'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/messagephp内容如下代码

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

在view文件里如下

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

在config/mainphp里加上:'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 C>

有时候,写程序的时候需要获取计算机的网络信息,比如IP地址、电脑名称、DNS等信息。IP地址和电脑名称是比较容易获取到的,而要想获取地址掩码、DNS、网关等信息就有些麻烦了。在Windows下我们一般都是通过从注册表读取这些信息。在Linux怎么做呢?其实,Linux下更加容易一些。因为我们可以拿现成的程序看它的源代码。通过阅读其源代码找到解决该问题的方法。那么,看哪个程序的源代码呢?如果你使用过Linux,并且比较熟悉的话就肯定知道一个命令ifconfig。这个命令和Windows下的ipconfig差不多,都可以输出网卡的信息,其中就包含DNS、掩码等信息。所以,我们可以通过看它的源代码来找到解决该问题的方法。获取系统中的网卡数量并没有那个系统调用提供网卡数量的获取。但是,我们可以通过强大的proc文件系统获取网卡数量的信息。实际上,ifconfig也是这样做的,请看示例代码如下:0001#include0002#include0003#include00040005intGetNetCardCount()0006{0007intnCount=0;0008FILEf=fopen("/proc/net/dev","r");0009if(!f)0010{0011fprintf(stderr,"Open/proc/net/devfailed!errno:%d\n",errno);0012returnnCount;0013}00140015charszLine[512];00160017fgets(szLine,sizeof(szLine),f);0018fgets(szLine,sizeof(szLine),f);00190020while(fgets(szLine,sizeof(szLine),f))0021{0022charszName[128]={0};0023sscanf(szLine,"%s",szName);0024intnLen=strlen(szName);0025if(nLensa_data[2])));}代码很简单,就不做解释了。怎么获取网关呢?这个稍微有点麻烦一些,不过和获取网卡数量相似,都是通过proc文件系统。这次分析的/proc/net/route文件。我就不再贴出示例代码了。最后,我把运行示例程序获取到的信息附上,以供大家有个直观的认识:eth0:MAC:08-00-27-98-bf-f3IP:1921681106BroadIP:255255255255Netmask:2552552550Gateway:19216811eth1:MAC:08-00-27-16-f4-bfIP:1921681108BroadIP:1921681255Netmask:2552552550Gateway:0000eth2:MAC:08-00-27-37-9c-91IP:0000BroadIP:0000Netmask:0000Gateway:0000eth3:MAC:08-00-27-5a-d2-39IP:0000BroadIP:0000Netmask:0000Gateway:0000NetCardCount:4DNS0:21821351DNS1:61147371

这个应该需要使用ajax异步加载

比如列表页(这是一个分页

然后使用ajax获取另一个分页的内容,然后显示在第一个分页里面,这样就实现了两个分页

虽然说得很笼统,我也很难说得非常详细,我建议你用jquery的ajax(如果不会的话),然后就可以很简单地实现

以上就是关于yii2的yii:t怎么使用全部的内容,包括:yii2的yii:t怎么使用、yii2怎么获取上一条用户提交数据的id、网卡init dev fail怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9303598.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存