Notice: Undefined property: Smarty::$complie_dir in F:\wamp\www\obj\smarty\libs\Smarty.class.php 解决·

我在学习smarty时候遇到如下问题:

Notice: Undefined property: Smarty::$complie_dir in F:\wamp\www\obj\smarty\libs\Smarty.class.php 解决·_第1张图片

 代码如下:

//引入smarty类

include "libs/Smarty.class.php";

//2实例化对象

$smarty=new Smarty();

//3.设置相关属性
$smarty->template_dir="templates";
$smarty->complie_dir="templates_c";
$smarty->assign('title','smarty模板');
$smarty->assign('content','smarty模板是一个功能非常强大模板');
$smarty->display('index.html');
?>

如图所示

Notice: Undefined property: Smarty::$complie_dir in F:\wamp\www\obj\smarty\libs\Smarty.class.php 解决·_第2张图片

template目录下代码

  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 

 

 
  {$title}

 

{$title}


{$content}



 

如图所示

Notice: Undefined property: Smarty::$complie_dir in F:\wamp\www\obj\smarty\libs\Smarty.class.php 解决·_第3张图片

 我当时以为是版本问题,于是换版本,发现问题还是解决不了,于是我开始怀疑是不是路径的问题

在index.php中用常量来定义一个绝对路径解决这个问题

代码如下:

define('ROOT_PATH',dirname(__FILE__));//此处为解决方案
require ROOT_PATH.'/smarty/Smarty.class.php';//此处为解决方案
$smarty=new Smarty();

$smarty->template_dir='templates';
$smarty->compile_dir='templates_c';
//$smarty->left_delimiter="<{";
//$smarty->right_delimiter="}>";
$smarty->assign('title','华罗庚');
$smarty->assign('content','聪明在于勤奋,天才在于积累');
$smarty->display('index_demo1.html');

?>

 

你可能感兴趣的:(php)