簡體   English   中英

Smarty和NetBeans自動加載沖突

[英]Smarty and NetBeans autoload conflict

我已經開始學習NetBeans,並嘗試在他們的To-Do示例中實現Smarty模板引擎。 當我嘗試運行應用程序時,出現錯誤:“找不到類“ Smarty_Internal_TemplateCompilerBase”。 我發現這是自動加載沖突,因為我和聰明的代碼都使用了該沖突。 這是我的代碼:

 spl_autoload_register(array($this, 'loadClass'));

    public function loadClass($name) {
    $classes = array(
        'Config' => '../config/Config.php',
        'Error' => '../validation/Error.php',
        'Flash' => '../flash/Flash.php',
        'NotFoundException' => '../exception/NotFoundException.php',
        'TodoDao' => '../dao/TodoDao.php',
        'TodoMapper' => '../mapping/TodoMapper.php',
        'Todo' => '../model/Todo.php',
        'TodoSearchCriteria' => '../dao/TodoSearchCriteria.php',
        'TodoValidator' => '../validation/TodoValidator.php',
        'Utils' => '../util/Utils.php',
        'Smarty'=> '../smarty/libs/Smarty.class.php',
    );
    if (!array_key_exists($name, $classes)) {
        die('Class "' . $name . '" not found.');
    }
    require_once $classes[$name];
}

我很難理解要進行這項工作需要進行哪些更改?

您應該更改以下代碼:

if (!array_key_exists($name, $classes)) {
        die('Class "' . $name . '" not found.');
}
require_once $classes[$name];

if (array_key_exists($name, $classes)) {
        require_once $classes[$name];
}

如果在找不到自動加載器時停止了腳本,則只會啟動您的自動加載器,如果找不到該類,則不會啟動其他自動加載器以檢查是否存在該類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM