할당 객체 방식
html 태그에 {$객체 이름->속성 이름/메소드 이름()}을 쓰는 경우가 일반적으로 덜 사용됩니다
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>temp3</title> </head> <body> <h1>{$man->name}</h1> <h1>{$man->say()}</h1> </body> </html>
<?php /* assgin赋值对象 smarty配置简化(temp,comp地址)封装到类 */ class man{ public $name='八郎'; public function say(){ echo 'what?my name is '.$this->name; } } $man= new man(); <strong>require</strong>('../../smarty3/libs/Smarty.class.php'); <strong>require</strong>('./mysmarty.class.php'); $smarty=new MySmarty(); // 赋值对象 $smarty->assign('man',$man); $smarty->display('temp4.html'); ?>
<?php class MySmarty extends Smarty{ /*$this->template_dir='./temp'; $this->compile_dir='./comp'; 因为是父类私有属性,所以不能改写 smarty内部有开放的接口,setTemplateDir可修改*/ public function __construct(){ parent::__construct(); $this->setTemplateDir('./temp'); $this->setCompileDir('./comp'); } }
이상에서는 필수 내용을 포함하여 Smarty 할당 개체 방법과 캡슐화 클래스의 단순화된 구성을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.