Yii全局变量和设置问题

Yii全局变量和设置问题,yii,Yii,我正在使用Yii开发一个社交网站。在频繁使用以下内容的同时,我遇到了巨大的数据可管理性问题。 -用户ID -当前用户ID(配置文件是所有者查看的用户) -主人是谁 我在哪里可以定义这些东西。 我想要点什么 if(Yii::app()->owner==ME){ //do something } // and similarly if($this->isMyFreind(<Current user ID>){ } // $this(CanIView()){ } if(Yi

我正在使用Yii开发一个社交网站。在频繁使用以下内容的同时,我遇到了巨大的数据可管理性问题。 -用户ID -当前用户ID(配置文件是所有者查看的用户) -主人是谁

我在哪里可以定义这些东西。 我想要点什么

if(Yii::app()->owner==ME){
//do something
}
// and similarly
if($this->isMyFreind(<Current user ID>){
}
// $this(CanIView()){

}
if(Yii::app()->owner==ME){
//做点什么
}
//同样地
如果($this->ismyfreid(){
}
//$this(CanIView()){
}
我希望这些函数对任何页面都是公开的?但是如何公开呢? 换句话说
我的库包含我自己喜欢的函数,如文本缩短、图像裁剪、日期时间格式等,我可以将它放在哪里?

我通常将globals.php文件与所有常用函数一起使用 在index.php中(yip是根目录中的一个):

然后,我可以在任何地方调用全局函数。例如,我缩短了某些Yii函数,如:

function bu($url=null){
    static $baseUrl;
    if ($baseUrl===null)
        $baseUrl=Yii::app()->request->baseUrl;
    return $url===null ? $baseUrl : $baseUrl.'/'.ltrim($url,'/');
}

因此,我可以通过简单地调用
bu()

调用
Yii::app()->request->baseUrl>来调用
Yii::app()->request->baseUrl>我通常将globals.php文件与所有常用函数一起使用
在index.php中(yip是根目录中的一个):

然后,我可以在任何地方调用全局函数。例如,我缩短了某些Yii函数,如:

function bu($url=null){
    static $baseUrl;
    if ($baseUrl===null)
        $baseUrl=Yii::app()->request->baseUrl;
    return $url===null ? $baseUrl : $baseUrl.'/'.ltrim($url,'/');
}

因此,我可以通过调用
bu()来调用
Yii::app()->request->baseUrl

根据MVC模型,图像裁剪或日期-时间格式之类的东西会出现在模型中。您只需为此创建模型。

根据MVC模型,图像裁剪或日期-时间格式之类的东西会出现在模型中。您只需为此创建模型。

在Yii中,您可以通过创建一个类来实现这一点(受保护/组件下)继承的

应用组件

然后您可以全局调用该类的任何属性作为组件

class GlobalDef extends CApplicationComponent {
 public $aglobalvar;
}
在组件下的主配置中将此类定义为:

'globaldef' => array('class' => 'application.components.GlobalDef '),
你可以这样打电话:

echo Yii::app()->globaldef->aglobalvar;

希望这能有所帮助。

在Yii中,您可以通过创建一个继承的类(在protected/components下)来实现这一点

应用组件

然后您可以全局调用该类的任何属性作为组件

class GlobalDef extends CApplicationComponent {
 public $aglobalvar;
}
在组件下的主配置中将此类定义为:

'globaldef' => array('class' => 'application.components.GlobalDef '),
你可以这样打电话:

echo Yii::app()->globaldef->aglobalvar;

希望这能有所帮助。

所以我的答案被版主删除了,尽管它以2票以上的票数被接受。没有给出任何理由。是时候离开这个网站了。所以我的答案被版主删除了,尽管它以2票以上的票数被接受。没有给出任何理由。是时候离开这个网站了。我认为这不是“Yii方式”要存储全局数据,我认为这不是存储全局数据的“Yii方式”