2011-10-12 3 views
0

방금 ​​Yii에서 작업을 시작했으며 덮어 쓰기를 시작하기 전에 CClientScript에 일부 기능을 추가하려고합니다. 나중에 수행하지 않는 모든 작업을 이해하려고합니다. 무언가를 포함하거나 잘못 포함해서는 안됩니다. 스크립트/파일을 등록 할 때Yii 캐시 방법 기록

나는 메서드 호출을 발견했습니다 : 나는 아래 COutputCache에 몇 가지 클래스를 통해 하나의 경우이 체인을 다음과 replayActions 기능을 본 적이

$this->recordCachingAction('clientScript','registerScriptFile',$params); 

. 이 용도는 무엇입니까? 이 문제가 필요하거나 의심스러운 부분이 있습니까? 캐싱을 추적하는 데 유용한 디버깅 기능 일뿐입니다.

Tl; Dr :
이후 재생을 위해 캐싱 작업을 기록하는 이유는 무엇입니까?

답변

-1

Johnatan의 답변은 의 정확하고 올바른 설명입니다.이 있습니다. 그러나 나는 여기서 어떻게하는지에 (더 내가 찾던 무엇)보다 상세한 통찰력을 가지고 :

그래서 캐싱은 모든 함수 호출에 대한 상담을 캐시를 사용하는 경우

YiiFramework.com Forum Topic

1

이 메서드는 캐시 된 메서드의 출력을 저장합니다. 귀하의 예제에서 CClientScript->registerScriptFile()의 결과 출력은 캐싱됩니다 (캐싱이 활성화 된 경우, 분명히). 이후 호출을 위해 저장됩니다. 나중에 캐시가 유효하고 CClientScript->registerScriptFile()이 다시 호출되면 (동일한 매개 변수 사용) 출력은 다시 생성되지 않지만 캐시에서 가져옵니다.

기본적으로 이것은 메소드에 기반한 모듈러 캐시입니다 (출력에 영향을 미치는 메소드는 대부분 캐시 됨). 물론 모델, 컨트롤러 등에서도 사용할 수 있습니다.

+0

? 출력이없는 메서드에서이 함수를 사용하면 무엇이 사용됩니까? 또는 내가 캐싱하는 것을 오해하고 있습니까? – Paystey

+0

결과를 캐싱하고있어, 데이터를 표준 출력으로 보낼 필요는 없습니다. –