2013-07-11 2 views
0

안녕하세요 저는 타임 라인 항목이 삭제되었는지 확인하기 위해 미러 API를 가져 오려고했습니다. 이전 항목을 업데이트하지 않으면 새 API를 만들려고합니다. 나는 PHP에서 프로그래밍 오전 및이 상당히 직선적 인 것 같아하지만 몇 가지 이유가 붙어있어 알아요! 도와주세요! 지금은 그렇게 설정되어 있고 함수 외부에서 변수를 전달하고 싶지 않아 함수 내부에서 삽입을 수행 할 수 없습니다. 나는 두 경우 모두에서 반향 삭제 $를 얻을 수 있지만 시도 한 번 더 아래는 적용되지 않습니다 아래에 if 문에 삭제 $를 통과 할 수printTimeLineItemMetadata가 함수 외부의 변수를 전달할 수 없음

function printTimelineItemMetadata($service, $itemId) { 
try { 
$timelineItem = $service->timeline->get($itemId); 

print 'Timeline item ID: ' . $timelineItem->getId(); 
if ($timelineItem->getIsDeleted()) { 
    $deleted = "deleted"; 
    echo $deleted; 

} 
else { $deleted = "nope"; 
echo $deleted;} 
} catch (Exception $e) { 
print 'An error occurred: ' . $e->getMessage(); 
} 
} 

.

+0

나는 당신이 관찰하고있는 것을 이해하고 있는지 잘 모르겠습니다. 질문을 편집하고 실행할 때 출력되는 화면의 예를 추가 할 수 있습니까? – mimming

+0

그냥 무시해. 나는 멍청이야. $ 삭제 된 전역 변수를 만들 필요가있어. – user1590569

답변

0

질문자가 질문에 대한 설명에서 설명했듯이 이것은 범위 지정과 관련이 있습니다. PHP의 함수는 자체 범위가 있으므로 기본적으로 함수에 정의 된 변수는 해당 함수 외부에 존재하지 않습니다.

빠른 수정은 변수 global을 만드는 것이지만 많은 전역 변수를 사용해야하는 것은 일반적으로 소프트웨어 설계가 좋지 않습니다. 이러한 상황에 처한 경우 코드를 다시 검토하여 더 모듈화되도록하십시오.

관련 문제