함수를 호출 할 때 너무 많은 인수를 피할 수있는 방법이 있습니까? 내가 이렇게PHP에서 함수를 호출 할 때 너무 많은 인수를 피하는 방법
Eg:
function myFunction($usrName,$usrCountry,$usrDOB//and many more){
// Do something with all those arguments here
}
한 가지 방법은 상수
//After thorough checking
$sesUserName = $_SESSION['sesUserName'];
define('USERNAME', $sesUserName);
myFunction(){
// Do something with USERNAME here
// No need to use USERNAME when calling the function
}
를 정의하지만,이 작업을 수행하는 다른 방법이 있나요? 그 필요한 모든 PARAMS
function myFunction($arrayArgs){
if(is_array(arrayArgs){
if(!array_key_exists('usrName', $arrayArgs)){
return null;
}
if(array_key_exists('usrCountry', $arrayArgs)){
return null;
}
//and many other ifs
}
}
나는 거기서 상수로하고있는 일을하지 않을 것이다. 'myFunction()'에서'$ sesUserName'에 정말로 접근하고 싶다면,'myFunction()'의 첫번째 줄로'global $ sesUserName; '을 호출 할 수 있습니다. 이것은 끊임없는 일에서 한발 더 나아졌지만 여전히 일반적으로 낙담합니다. 'global '을하지 않고도 슈퍼 전역 ('$ _SESSION'과 같은'$ _' 배열)에 접근 할 수 있으므로 함수 내에서'$ _SESSION ['sesUserName ']'에 직접 액세스 할 수 있습니다. 그래도이 방법이 최선의 방법은 아닙니다. 다른 사람들이 지적한 것처럼 연관 배열을 사용하는 것이 좋습니다. –
그들은 필수 항목입니다. 하지만 내가 말했듯이, 나는 이것을하는 다른 방법을 모른다. – Norman
배열을 구문 분석 할 수 있습니다. –