50], [['config', 'description'], 'string'], ['status', 'default', 'value' => 1], [['id'], 'unique'], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'name' => '名称', 'status' => '是否启用', 'config' => '配置', 'created_at' => '创建时间', 'updated_at' => '更新时间', ]; } public function behaviors() { return [ TimestampBehavior::className(), [ 'class' => CacheInvalidateBehavior::className(), 'keys' => [ 'plugins', ] ] ]; } public static function findOpenPlugins() { $plugins = Yii::$app->cache->get('plugins'); if ($plugins === false) { $query = static::find(); $plugins = $query->where(['status' => self::STATUS_OPEN])->all(); Yii::$app->cache->set('plugins', $plugins, 0); } return $plugins; } public function getInstall() { return $this->isNewRecord ? false : true; } public function getOpen() { return $this->status == self::STATUS_OPEN; } }