Yii全局变量和设置问题
我正在使用Yii开发一个社交网站。在频繁使用以下内容的同时,我遇到了巨大的数据可管理性问题。 -用户ID -当前用户ID(配置文件是所有者查看的用户) -主人是谁 我在哪里可以定义这些东西。 我想要点什么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
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方式”