PHP5和聪明的配置问题

时间:2014-08-22 08:15:47

标签: php smarty smarty3

我正在阅读初学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

1 个答案:

答案 0 :(得分:0)

您的PHP代码看起来很好。

您应该清除已编译的模板目录,检查您的目录/文件权限,如果它没有帮助,实际上您不应该在意。这些警告是因为某些文件系统操作优化。

如果您想关闭它们,可以使用:

$this->muteExpectedErrors();

在构造函数内部(可能在调用父构造函数之后)。 Documentation on muteExpectedErrors