내가 만든 클래스에서 싱글 톤 패턴을 사용하려고합니다. 나는 CodeIgniter를 사용하고 있으며, 모든 모델 객체의 생성자를 public으로 요구하는 것으로 보인다.CodeIgniter - 싱글 톤 패턴은 허용되지 않습니까?
이 방법이 있습니까? Singleton 패턴을 사용할 수없는 경우 가장 좋은 방법은 무엇입니까?
나의 등급 :
class RakebackSites extends CI_Model {
private $allSites = array();
private function __construct() {
parent::__construct();
self::initAllSites();
}
public static function getInstance() {
if(empty(self::$instance)) {
self::$instance = new CurrencyTypes();
}
return self::$instance;
}
private function initAllSites() {
$sql = "SELECT * FROM rakeback_sites";
$this->db->query($sql);
foreach ($q->result() as $row) {
$allSites[] = new RBSite($row->id, $row->name, $row->logo, $row->rakeback, $row->sign_up_bonus, $row->sign_up_bonus_currency, $row->referral_code, $row->id);
}
}
public function getAllSites() {
return $this->allSites;
}
}
그리고 오류가 내가 얻을 :
치명적인 오류 : RakebackSites에 대한 액세스 수준이 :: __ 구조() 공개합니다 홈//에서 (클래스 CI_Model에서와 같이). ../application/models/rakebacksites.php on line 29
불행히도, 공개적으로 말해야한다는 –