이것이 가능한지 확실하지 않습니다. 예를 들어 :
$color = isset($product['color']) ? $product['color'] : '';
$size = isset($product['size']) ? $product['size'] : '';
$qty = isset($product['qty']) ? $product['qty'] : '';
***
***
나는 내가 그 설정하면 확실하지 않다 배열에서 값을 얻을 필요가 거의 모든 곳에서 isset()
를 사용합니다. 내 자신의 사용자 지정 프레임 워크를 사용하고 있기 때문에 자동으로 설정을 확인하는 방법을 추가 할 수 있는지 궁금합니다.
그래서 내가 이런 걸 원하는 : PHP 마법 기능 __isset
이 클래스에 대해 무엇을
//if its not set, do not throw warning message just return blank
$color = $product['color'];
$size = $product['size'];
$qty = $product['qty'];
기본적으로 유사한하지만 난 하지클래스 어떤 배열을 위해 필요합니다.
내가 모든 컨트롤러에 사용되는 내BaseController
에 기능을 추가하지만 여전히 별도의 함수 호출 :
$color = $this->isSet($product, 'color', '');
$size = $this->isSet($product, 'size', '');
$qty = $this->isSet($product, 'qty', '');
과 기능 :
public function isSet(array $data, $key, $return) {
return isset($data[$key]) ? $data[$key] : $return;
}
내 질문은,이다 거기 함수없이 이것을하는 더 좋은 방법?
변수를 예상 할 때 경고를 끌 수는 있지만'isset()','type hinting' 및'assert() '를 사용하는 것이 좋습니다. – DanFromGermany
var가 시작된 클래스를 설정하고 필요할 때 채우는 것이 어떨까요? –
@BrettSantore 예를 들어 들어 왔지만 클래스를 설정할 수는 있지만 클래스를 사용할 수없고 배열마다 클래스를 사용하는 것은 오버 헤드로 보입니다. – GGio