Forumlar / National / Russian / Модули и плагины / Всегда ли оправдано использование кэша?

Uch
#1 2012-11-04 13:15

Написал пагин, который добавляет к странице соответстующие теги протокола Open Graph Учитывая, что каждая загрузка страницы выполняет в header SQL запрос, доставая из БД всю статью и фактически дублируя работу page.inc.php, будет ли правильным кэшировать мэта теги для каждой страницы? Статей на сайте много.

Macik
#2 2012-11-04 21:37

Не знаю как у тебя реализовано (хуки и прочее). Но когда я последний раз сталкивался с тем же (дублирующий вызов данных для страницы) в своем плагине, вышел из ситуации следующим образом:

  • создал дополнительную часть, повесив ее на хук pagetags.main
  • со следующим кодом:
    	global $page_tags;
    	$page_tags = array();
    	$used_tags = array('URL','TITLE','SHORTTITLE');
    	foreach ($used_tags as $key) {
    		$page_tags[$key] = $temp_array[$key];
    	}
    

    смысл простой: внутри модуля pages, после того, как он достаёт информацию из БД, мы цепляемся через хук, и переносим нужные нам данные (в моем случае url, title, shorttitle) в «наш» массив $page_tags. Далее там где нужно пользуем данные из  $page_tags. 

И все. Избежали лишнего запроса в БД.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Trustmaster
#3 2012-11-05 07:43

Кстати, очень давно уже есть готовый плагин opengraph.

May the Source be with you!
Uch
#4 2012-11-05 13:12

Спасибо! Я совсем забыл про $plug_head. Это решает мою проблему:) Trustmaster, плагин хороший.

Надо бы добавить в него поддержку Page Avatar и сделать OG мета-тегов для всех картинок в тексте + логотип + page avatar .  Тогда можно будет выбирать картинку-аватарку для публикации анонса страницы в Фейсбуке, Вконтакте и прочих СС, которые поддерживают Open Graph. Еще можно добавить в конфиг возможность указывать appID для других соцсетей, которые требуют индентификатор. Например, для ВКонтакте.

В текущей версии, если я не ошибаюсь, preg_match ищет только первую картинку и ту только jpg или png с полным HTTP адресом. А как же картинки с локальным адресом?

Добавлено 4 минуты спустя:

Кстати, открою коллегам свое наблюдение. Если аватарка будет в формате GIF, то фейсбук ее не искажает сжатием, как в случае с JPG.


Bu konu Uch tarafından düzenlendi(2012-11-05 13:25, 11 yıllar önce)
Trustmaster
#5 2012-11-05 14:07

Замечания дельные, когда писал этот плагин, поддержки таких фич в FB/vk ещё не было.

May the Source be with you!