이 예제 코드에서는 모든 함수에서 와일드 카드 검색을 실행하고 있습니다. 가능성 알칼() 함수는 정답을주고 다른 함수는 잘못된 대답을 반환합니다. 반대의 경우도 마찬가지입니다.클래스 함수 연산의 결과를 어떻게 억제합니까?
다른 함수에서 올바른/정답 을 얻으면 한 함수에서 실패한 부분을 어떻게 억제합니까? 나는 "이것이 알칼리 금속"임을 이미 보여 주면 "금속은 알려지지 않았다"는 것을 보여주고 싶지 않습니다.
<?php
class metals
{
function alkali()
{
if (($rowC['description'] == " Alkali Metal")) {
echo '';
} else {
echo 'metal is unknown';
}
}
function alkaline_earth()
{
if (($rowC['description'] == " Alkali earth Metal")) {
echo ' this is an alkali earth metal';
} else {
echo 'metal is unknown';
}
}
//end of class
}
// create an object for class name
$abc = new metals();
$abcd = new metals();
// call the functions in the class
$abc->alkali();
$abcd->alkaline_earth();
?>
함수가 각각 하나의 책임 (요소가 X인지 확인)이 2 개가 아닌 (결과를 결정하고 인쇄 할 경우)이 문제가 발생하지 않습니다. 이 일을하는 방법은 나쁘다. 코드를 리팩터링하십시오. – Jon
함수가 결과를'return '(아마도'true' 또는'false')하게 만들고, 코드의 다른 부분에 무엇을 표시 할 것인지에 대한 논리를 남겨 둡니다. 두 가지 결과를 모두보고 무엇을 할 것인지 결정할 수 있습니다 . – IMSoP
또한,'$ rowC'가 어디에도 정의되어 있지 않기 때문에 여러분이 제공하는 예제 코드는 의미가 없습니다. 나는 당신이'$ this-> rowC'를 의미하고 그것을 객체를 생성 할 때 전달할 의도가 있다고 생각한다. – IMSoP