| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User:  NODELOG
 
-  * Date: 2017/3/6
 
-  * Time: 下午9:38
 
-  */
 
- namespace common\modules\urlrule\models;
 
- use common\behaviors\CacheInvalidateBehavior;
 
- use common\behaviors\PositionBehavior;
 
- use yii\db\ActiveRecord;
 
- use Yii;
 
- /**
 
-  * This is the model class for table "{{%url_rule}}".
 
-  *
 
-  * @property integer $id
 
-  * @property string $name
 
-  * @property string $pattern
 
-  * @property string $host
 
-  * @property string $route
 
-  * @property string $defaults
 
-  * @property string $suffix
 
-  * @property string $verb
 
-  * @property integer $mode
 
-  * @property integer $encodeParams
 
-  * @property integer $status
 
-  */
 
- class UrlRule extends ActiveRecord
 
- {
 
-     /**
 
-      * @inheritdoc
 
-      */
 
-     public static function tableName()
 
-     {
 
-         return '{{%url_rule}}';
 
-     }
 
-     /**
 
-      * @inheritdoc
 
-      */
 
-     public function rules()
 
-     {
 
-         return [
 
-             [['pattern', 'route'], 'required'],
 
-             [['mode', 'encodeParams', 'status'], 'integer'],
 
-             [['name'], 'string', 'max' => 50],
 
-             [['defaults', 'verb', 'name', 'host'], 'default'],
 
-             [['pattern', 'host', 'route', 'defaults', 'suffix', 'verb'], 'string', 'max' => 255],
 
-         ];
 
-     }
 
-     /**
 
-      * @inheritdoc
 
-      */
 
-     public function attributeLabels()
 
-     {
 
-         return [
 
-             'id' => 'ID',
 
-             'name' => 'Name',
 
-             'pattern' => 'Pattern',
 
-             'host' => 'Host',
 
-             'route' => 'Route',
 
-             'defaults' => 'Defaults',
 
-             'suffix' => 'Suffix',
 
-             'verb' => 'Verb',
 
-             'mode' => 'Mode',
 
-             'encodeParams' => 'Encode Params',
 
-             'status' => 'Status',
 
-         ];
 
-     }
 
-     public function behaviors()
 
-     {
 
-         return [
 
-             [
 
-                 'class' => CacheInvalidateBehavior::className(),
 
-                 'keys' => ['openRules']
 
-             ],
 
-             [
 
-                 'class' => PositionBehavior::className(),
 
-                 'positionAttribute' => 'sort'
 
-             ]
 
-         ];
 
-     }
 
-     public function beforeSave($insert)
 
-     {
 
-         if(parent::beforeSave($insert)== false) {
 
-             return false;
 
-         }
 
-         if($insert == true) {
 
-             $this->mode = 0;//0,1,2 分别代表适用于创建和解析.只能创建,只能解析
 
-             $this->encodeParams = 1;
 
-             $this->status = 1;
 
-         }
 
-         return true;
 
-     }
 
-     public static function findOpenRules()
 
-     {
 
-         $rules = Yii::$app->cache->get('openRules');
 
-         if ($rules === false) {
 
-             $rules = static::find()->where(['status' => 1])->orderBy('sort asc')->all();
 
-             Yii::$app->cache->set('openRules', $rules);
 
-         }
 
-         return $rules;
 
-     }
 
- }
 
 
  |