2016-06-17 3 views
2

오류가 발생하더라도 각 경로마다 Json Response를 표시해야합니다.핸들 Json 응답

예를 들어,이 클래스를 가지고

class File { 
    private $fileName; 


    public function parseFile($file){ 
    $value = Yaml::parse(file_get_contents(dirname(__FILE__).'/../../../'.$file)); 
    return $value; 
    } 
    public function getFileName() { 
    return $this->fileName; 
    } 
    public function setFileName($fileName) { 
    $this->fileName = $fileName; 
    } 

} 

내 컨트롤러입니다 : 내가 가진

{ 
error:10, 
msg: ‘foo’ 
} 

:

$file = new File(); 
$file->setFileName('conf/conf.yml'); 
$value = $file->parseFile($file->getFileName()); 
//return response if $value is empty 
//run this code only if value isn't empty 

어떻게 JSON 같은 사용자 정의와 응답을 표시 할 수 있습니다 언제든지 $ 값의 유형을 확인 하시겠습니까? 예를 들어

if(empty($value)) 

다른 클래스가 컨트롤러 대신 parseFile을 호출하면 어떻게 처리 할 수 ​​있습니까?

이 경우 Json을 어떻게 표시 할 수 있습니까?

+0

일부 문맥을 필요는 ... 당신은 분명 프레임 워크 내에서 최선을 다하고? 프레임 워크는 무엇입니까? –

+0

@BradKent이 경우 Slim Framework에서 이벤트를 사용해야합니까? 내가 "간단한"PHP를 사용한다면? – monkeyUser

+0

오프 주제 :'dirname (__ FILE __)'은'__DIR__'로 바꿀 수 있습니다 – Simba

답변

0

인코딩 값

<?php 
     if(strlen($value)){ 
      $value = json_encode($value); 
     }else{ 
      $value = json_encode(["error"=>10,"msg"=>'foo']); 
     } 
    ?> 
+0

네, 어쩌면 제 영어가 제 의심을 설명하기에 좋지 않을 수 있습니다. 나는 지금 내가 $ json_encode ($ value)를해야하는지 아닌지를 알기 위해 언제든지 $ 값의 유형을 검사해야하는지 원한다. $ value가 비어있는 경우에 excotution을 중지해야하기 때문에 – monkeyUser

+0

편집과 비슷한 것이 있습니까? – ksealey

+0

예 가능한 경우이 컨트롤을 사용하지 않습니다. – monkeyUser