나는 내 PHP 응용 프로그램 내부에 그사용하여 DB 연결
class db {
protected $db;
public function __construct() {
$this->connect();
}
protected function connect() {
$this->db = new MySQLi(db_host, db_user, db_pass, db_name) or die($this->db->error);
$this->db->set_charset('utf8');
}
}
모든 클래스처럼 보인다 DB 클래스가이 DB 클래스에게
처럼class registration extends db {
var $validation;
function __construct() {
parent::__construct();
$this->validation = new validation();
...
및 검증 외모를 확장 like
class validation extends db {
var $ajax, $common;
function __construct() {
parent::__construct();
...
"너무 많은 연결"오류 메시지가 나타납니다. 나는 이것이 옳은 접근법이 아니라는 것을 느낀다 : 나는 언제나 DB에 다시 연결된다. 그렇다면 귀하의 의견에 옳은 길은 무엇입니까? 그것은 ('db', ...) 1 시간을 정의하고 앱 내부의 모든 곳에서 사용할 수 있습니까?
db 연결을 정의 할 수 있습니까? – heron
네,'db' 클래스는 본질적으로 현재 디자인과 변함이 없습니다. 응용 프로그램의 나머지 코드와의 관련성을 변경하는 것입니다. – quickshiftin
이 접근 방식에서 '문제'는 _any_ 클래스가 데이터베이스 리소스에 액세스 할 수 있다는 것입니다. 두 번째 데이터베이스에 연결할 수 없습니다. 그리고 당신은 당신의 코드가'db'의 서브 클래스를 사용할 수 없습니다. 의존성 주입은 일반적으로 모듈화, 유지 보수 및 테스트와 관련하여 우수한 패러다임으로 간주됩니다. – Halcyon