저는 ZendFramework에 대해 다소 새로운 것으로 생각하고 있습니다.젠드 프레임 워크 뷰 스크립트, 함수 및 변수 스코프
<?php
function getErrorString($element)
{
echo "<pre>";
print_r($this);
echo "</pre>";
$string = '';
if(!empty($this->error[$element]))
{
$string = $string.'<label class="error" for="'.$element.'" generated="true">';
foreach($this->error[$element] as $error)
{
$string = $string.$error;
}
$string = $string.'</label>';
}
return $string;
}
echo "<pre>";
print_r($this);
echo "</pre>";
getErrorString("blah");
die();
나에게 준다 : 당신이보기 내에서 함수를 만들 때
Fatal error: Using $this when not in object context in index.phtml on line XX
그것은 나에게 보인다 내보기 스크립트 (index.phtml), 나는 말한다 코드의이 비트가 $ this 변수를 잃게됩니다. 나는 그물 주위를 검색했는데, 내가하고있는 것을 성취하려고하는 다른 사람을 볼 수 없다. (매우있을 법하지도 않다. 어쩌면 내가 잘못 찾고있다.)
다른 응용 프로그램을 개발 한 경험이 있기 때문에이 함수를 별도의 도우미에 배치해야하는 이유는 알 수 없습니다. 특히이 함수가 호출 될 유일한 곳이기 때문에 더욱 그렇습니다.
모든 아이디어는 크게 감사하겠습니다.
감사를 작동합니다! 내가 무슨 뜻인지 이해가 확실하지 않습니다. 클래스 정의에 다른 것을 쓸 수는 없지만 메서드를 정의 할 수 있다고 말했습니까? 또한 $ _ (this)가 작동하지만 왜 getErrorString ("blah")이 인쇄되지 않는지는 알 수 없습니다. 건배! – lyf
@lyf - 함수 정의가 클래스 정의 내에서 바인드되지 않으므로 함수 정의 내에서 "$ this"를 사용할 수 없습니다. –