最近,在項目中發現,PHP 的 __autoload 方法失效了。調試了好久,百思不得其解,查了下資料才知道原來是 Smarty 的原因。新版的 Smarty 改變了autoload的方式。
解決方法是:在 Smarty 的包含類文件後加一段代碼,spl_autoload_register("__autoload");
如下:
<?php
define('ROOT_PATH', dirname(__FILE__));
require_once ROOT_PATH . '/includes/smarty/Smarty.class.php';
spl_autoload_register("__autoload"); // 添加這段代碼
?>
摘自 Lee.的專欄