데이터베이스 클래스 (PHP 용 ADOdb)를 사용하려고하지만 다른 클래스에서 사용하는 방법을 모르겠습니다. 예 :다른 클래스에 포함 된 클래스 사용
<?php
include_once("adodb.inc.php");
$conn = NewADOConnection('mysql');
class Contacts {
public function getData(){
$conn->Connect(...);
//do something
}
}
?>
나는 문제는 클래스 외부에서 정의 때문에 나는 $ CONN를 호출 할 수 있다는 것입니다 생각합니다.
공지 사항 : 정의되지 않은 변수 : CONN
치명적인 오류 : 내가 길을 잘못하고 있어요 어쩌면
아닌 객체의 멤버 함수에 연결()를 호출하지만 정말로이 문제를 어떻게 해결해야할지 모르겠다.
누군가 나를 도울 수 있습니까? 고마워요!
말했다<?php
include_once("adodb.inc.php");
$conn = NewADOConnection('mysql');
class Contacts {
public function getData(){
global $conn;
$conn->Connect(...);
//do something
}
}
?>
, 당신은 아마 이런 식으로 의존성 주입을 사용하여 더 나을 것 :
<?php
class Contacts {
private $db;
public function setDB($conn) {
$this->db = $conn;
}
public function getData(){
if (!$this->db) {
throw new Exception();
}
$conn = $this->db;
$conn->Connect(...);
//do something
}
}
?>
그리고 당신의 ADODB를 포함 포함 인스턴스에
PHP –