Zendモデルをシングルトンにしたいので、これを行いました:
class Social_Model_DbTable_Dossier extends Zend_Db_Table_Abstract {
private static $_instance;
public static function GetInstance() {
if (!self::$_instance instanceof self) {
self::$_instance = new self();
}
return self::$_instance;
}
private function __construct() {
// put normal constructor code.
// it will only ever be called once
}}
次のようにモデルをインスタンス化します。
$dossiercasModel = Social_Model_DbTable_Dossier::GetInstance();
しかし、このエラーが発生しました:
Fatal error: Access level to Social_Model_DbTable_Dossier::__construct() must be public (as in class Zend_Db_Table_Abstract)
モデルのコンストラクターをパブリックとして配置すると正常に動作しますが、これはシングルトンの概念と矛盾しています!