Symfony 1.4 Doctrine 1.2에서 음악 응용 프로그램을 만들고 있습니다. 내 레이아웃 헤더에서 페이 스북 API 메타 태그를 사용자 정의하기 위해 슬롯을 사용하고 있습니다. 예를 들어 노래 페이지를 탐색하면 해당 노래의 showSuccess
에 다음과 같은 슬롯이 생겨 어떤 노래인지에 따라 레이아웃 헤더 메타 태그에 동적 정보가 채워집니다.Symfony 1.4의 슬롯에서 동적 정보 캐시를 비활성화하는 방법
<?php slot('fb_metaproperty_title') ?>
<meta property="og:site_name" content="abc"/>
<meta property="og:title" content="<?php echo $songs['song_name'].' by '.$songs['full_name'] ?>"/>
<meta property="og:type" content="song" />
<meta property="og:description" content="This song is currently ranked <?php echo $songOverallRank?>th" />
<meta property="og:url" content="<?php echo $linktosongpage ?>"/>
<meta property="og:image" content="<?php echo $images[0]?>"/>
<?php end_slot() ?>
문제는 내가 캐시가 켜져 있고 그 순위 값이 유효 기간이 있으므로 (이 자주 변경되는대로) $songOverallRank
변수가 슬롯에 캐시가 있습니다. 동일한 $songOverallRank
변수가 슬롯 바로 아래 (그러나 슬롯 외부)의 코드에서 최신 상태입니다. 어떤 이유로 슬롯 값이 캐시되고 오래된 것입니다.
수동으로 캐시 값을 제거하는 방법에 대한 심포니 문서를 확인 했으니 꽤 귀찮은 것 같습니다.
슬롯에 대한 캐시를 비활성화하는 간단한 구성이나 방법이 있습니까? 슬롯이 캐시되지 않고 변수가 나머지 템플릿 (정확히 최신 값을 가짐)과 완전히 동일하게 풀리도록하는 솔루션이 있습니까?
캐시가 view_cache/results_cache
인 경우 sfMemcacheCache
이고 캐시가 sfPatternRouting
인 경우 APC가 유용합니다.