我正在阅读初学PHP和MySQL电子商务。作者要求下载最新的智能版本。当书出版时,它是2.x的聪明2.x. 我将所有文件从代码下载复制到我的文件夹中。我得到的错误是
Fatal error: Uncaught exception 'SmartyException' with message 'PHP5 requires you to call __construct() instead of Smarty()'
要更正它,我将代码更改为
<?php
// Reference Smarty library
require_once SMARTY_DIR . 'Smarty.class.php';
/* Class that extends Smarty, used to process and display Smarty files */
class Application extends Smarty
{
// Class constructor
public function __construct()
{
// Call Smarty's constructor
parent::__construct();
// Change the default template directories
$this->template_dir = TEMPLATE_DIR;
$this->compile_dir = COMPILE_DIR;
$this->config_dir = CONFIG_DIR;
}
}
?>
我遵循以下链接 Fatal error: Uncaught exception 'SmartyException'
然后我收到了这个错误:
ERRNO:2 TEXT:filemtime():stat失败 C:\ XAMPP \ htdocs中\ tshirtshop /展示/ templates_c \ b34e4db7de306d57170626b504196f0c5fe34fa4.file.store_front.tpl.php 地点: C:\ XAMPP \ htdocs中\ tshirtshop \库\智者\ sysplugins \ smarty_resource.php, 772行,2014年8月22日上午9:59显示回溯: filemtime( “C:\ XAMPP \ htdocs中\ tshirtshop /展示/ templates_c \ b34e4db7de30 ......”) 第772行,文件:C:\ xampp \ htdocs \ tshirtshop \ libs \ smarty \ sysplugins \ smarty_resource.php Smarty_Template_Source.getCompiled(Object:Smarty_Internal_Template)# 第699行,档案: C:\ XAMPP \ htdocs中\ tshirtshop \库\智者\ sysplugins \ smarty_internal_template.php Smarty_Internal_Template .__ get(“编译”)#line 154,file: C:\ XAMPP \ htdocs中\ tshirtshop \库\智者\ sysplugins \ smarty_internal_templatebase.php Smarty_Internal_TemplateBase.fetch(“store_front.tpl”,null,null, null,true)#line 394,file: C:\ XAMPP \ htdocs中\ tshirtshop \库\智者\ sysplugins \ smarty_internal_templatebase.php Smarty_Internal_TemplateBase.display(“store_front.tpl”)#line 16, file:C:\ xampp \ htdocs \ tshirtshop \ index.php
答案 0 :(得分:0)
您的PHP代码看起来很好。
您应该清除已编译的模板目录,检查您的目录/文件权限,如果它没有帮助,实际上您不应该在意。这些警告是因为某些文件系统操作优化。
如果您想关闭它们,可以使用:
$this->muteExpectedErrors();
在构造函数内部(可能在调用父构造函数之后)。 Documentation on muteExpectedErrors