0

Yii を使用してソーシャル ネットワーキング Web サイトを開発しています。次のことを頻繁に使用しているときに、データの管理性に大きな問題があります。- ユーザー ID - 現在のユーザー ID (所有者が表示しているプロファイルのユーザー) - 所有者ですか?

これらのことをどこで定義できますか。私は何かしたい

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

}

これらの関数を任意のページで公開したいですか? しかし、どのように?つまり 、テキストの短縮、画像のトリミング、日時のフォーマットなど、自分のお気に入りの機能を含むライブラリをどこに置くことができますか??

4

3 に答える 3

3

Yii では、継承するクラス (保護/コンポーネントの下) を作成することでこれを実現できます。

CApplicationComponent

クラス。そして、このクラスの任意のプロパティをコンポーネントとしてグローバルに呼び出します。

class GlobalDef extends CApplicationComponent {
 public $aglobalvar;
}

コンポーネントの下のメイン構成でこのクラスを次のように定義します。

'globaldef' => array('class' => 'application.components.GlobalDef '),

そして、次のように呼び出すことができます:

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

それが役立つことを願っています。

于 2012-12-06T10:02:49.827 に答える
1

MVC モデルによると、画像のトリミングや日時の形式などがモデルに含まれます。そのためのモデルを作成するだけです。

于 2012-12-05T09:21:19.763 に答える
0

私は通常、index.php ですべての共通関数を含む globals.php ファイルを使用します (ルートにあるものを yip します)。

$globals='protected/globals.php';
require_once($globals);

その後、どこでもグローバル関数を呼び出すことができます。たとえば、次のような特定の Yii 関数を短縮します。

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

Yii::app()->request->baseUrlそのため、単に呼び出すだけで を呼び出すことができますbu()

于 2012-12-04T22:53:01.490 に答える