これが何のエラーであるかを調べるのを手伝ってください。
クラスの自動ロードにより、他のクラスを自動的にロードできますが、tpl クラスは自動的にロードできません
致命的なエラー: クラス 'Tpl' が D:AppServwwwyshopconfigsrun に見つかりません。 inc.php の 22 行目
ROOT_PATH.'/public/Tpl.class.php'; を手動で要求すると、このエラーが再び表示されました
致命的なエラー: Tpl::__construct() へのアクセス レベルは次のとおりですpublic (クラス Smarty と同様) D:AppServwwwyshoppublicTpl.class.php の 46 行目
class Tpl extends Smarty{
static private $instance;
static public function getInstance(){
if(!(self::$instance instanceof self)){
self::$instance = new self();
}
return self ::$instance ;
}
プライベート関数 __clone(){
}
プライベート関数 __construct(){
$this->setConfigs();
}
private function setConfigs(){
//テンプレート ディレクトリ
$this->gt;template_dir = ROOT_PATH.'/view/';
//コンパイル ディレクトリ
$this- >compile_dir = ROOT_PATH.'/compile/';
//設定変数ディレクトリ
$this->config_dir = ROOT_PATH.'/configs/';
//キャッシュディレクトリ
$this ->cache_dir = ROOT_PATH.'/cache/';
//キャッシュを有効にするかどうか、Web サイトの開発およびデバッグ段階ではキャッシュをオフにする必要があります
$this->caching = 0;
//キャッシュ宣言期間
$this->cache_lifetime = 60*60*24;
//左区切り文字
$this->gt;left_delimiter = '{';
//右区切り文字
$ this->right_delimiter = '}';
}
} 46 行目は次のとおりです
?>
------解決策 ------------------
これは、Smarty クラスのコンストラクター (__construct) のアクセス許可が public であるため、サブクラスによってオーバーライドされる同じメソッドは、いわゆる高低関係 (プライベート > 保護 > パブリック)