나는 아주 명확하길 바래!PHP : 다른 클래스에서 abstract 클래스 메서드 호출
내 DB를 가져오고, 삽입하고, 작업하는 사람이 dbFacile입니다.
$db = dbFacile::open('mysql', DATABASE, USERNAME, PASSWORD, HOST);
$db->fetchRows('select * from my_stores')
는 나는 내가 테이블 my_stores에서 내 모든 상점과 $ 배열을 얻으려면 다른 클래스를 만들었습니다.
class Stores {
public $s_table = 'my_stores';
public $rows;
public function get_all_stores(){
$this->rows = $db->fetchRows('select * from $this->s_table');
foreach($rows as $row) {
echo $row['name'] . '<br />';
}
}
}
나는 나의 get_all_stores에 방법을 dbFacile을 시작하려했지만, 그 클래스는 추상적이고 나는 할 수 없습니다.
이$db = \dbFacile\factory::mysql();
$db->open(DATABASE, USERNAME, PASSWORD, HOST);
$db->fetchRows('select * from my_stores');
...
예 클래스 사용 :
class Stores {
private $s_table = 'my_stores';
private $db;
public function __construct($db)
{
$this->db = $db;
}
public function get_all_stores(){
$rows = $this->db->fetchRows(sprintf('select * from %s', $this->s_table));
//do your stuff with rows and maby return $rows
}
}
$db = \dbFacile\factory::mysql();
$db->open(DATABASE, USERNAME, PASSWORD, HOST);
//usage
$stores = new Stores($db);
$stores->get_all_stores();
('\ dbFacile \ factory :: mysqli()'같은) 팩토리 메소드 중 하나를 사용하지 말아야합니까? – radmen
나는 내가 어떻게 이런 걸 쓰는지 모르겠다. 나는 그 공장 파일을 온라인으로 갖고 있지 않다. db.class.php –
@radmen 여기서 도와 줄 수 있니? http://collabedit.com/fpee7? –