PHP OOP의 새로운 기능이며, 누군가 내가 이것을 도울 수 있는지 궁금해하고있었습니다.PHP OOP의 클래스 속성에 액세스하기
데이터베이스에서 데이터를 반환하는 한 가지 방법으로 기본 클래스가 있습니다. 현재 함수 안에 모든 것을 표시하는 메서드를 호출하고 있습니다.
class Products{
//properties
public $familyName = "";
public $familyProduct = "";
//Methods
public function getFamily($catId){
global $conn;
$sql = "SELECT * FROM product_family WHERE catID = '$catId'";
$result = $conn->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo "<li>".$row['familyName']."</li>";
echo "<li>".$row['familyProduct']."</li>";
}
}
}
}
다음
내가 메소드를 호출하는 방법입니다 : 여기
내 클래스 정의이다 나는 데이터베이스에서 나오는 각각의 데이터를 할당하는 방법을
$Products = new Products;
$Products->getFamily(4);
이 그러나 작동 (ex familyName, familyProduct)를 클래스 구현 내의 변수에 저장 한 다음 필요에 따라 개별적으로 액세스합니다. 다음과 같은 것 :
$Products = new Products;
$Products->familyName;
$Products->familyProduct;
빈 속성이 있지만 루프에서 오는 값을 어떻게 할당 할 수 있는지 잘 모르겠습니다.
감사합니다.
, 당신은'(에서와 같이, _this_ 객체) $ this' 사용해야합니다 :'$ this->을 familyName'는 그것의 값을 반환합니다 ,'$ this-> familyName = 'test''가 그 값을 설정합니다. – WOUNDEDStevenJones
$ this-> familyName = $ row [ 'familyName']? – Plotisateur
또한'$ products = new Products();'와 같은 객체를 생성 할 때 자동으로 실행되는'__construct()'함수 (클래스 생성자)를 추가 할 수 있습니다. 따라서 정보를 얻기 위해 DB 쿼리를 사용하는 생성자가 있다면 클래스 내에서 $ this->를 사용하여 값을 설정할 수 있습니다. 그러면 $ products-> familyName'을 사용할 수 있습니다 (또는 더 나은 방법으로 getter를 사용하고 값을 얻기 위해'$ products-> getFamilyName();'을 사용하십시오. – WOUNDEDStevenJones