Пример #1
0
 /**
  * @return array|bool|mixed
  */
 public function getImageObject()
 {
     $key = 'cache_page_image_object_' . $this->id_page . '-' . $this->language;
     $img = Yii::$app->cache->get($key);
     if ($img === false) {
         $doc = new DOMDocument();
         $doc->loadHTML($this->content);
         $tags = $doc->getElementsByTagName('img');
         $img = [];
         foreach ($tags as $i => $tag) {
             $img['url'] = $tag->getAttribute('src');
             $img['width'] = $tag->getAttribute('width');
             $img['height'] = $tag->getAttribute('height');
             break;
         }
         /* cache */
         $sql = (new Query())->select('updated_at')->from(PageData::tableName())->where(['id_page' => $this->id_page, 'language' => $this->language])->createCommand()->rawSql;
         $dependency = new DbDependency();
         $dependency->sql = $sql;
         Yii::$app->cache->set($key, $img, 0, $dependency);
     }
     return $img;
 }