Php 与smarty一起使用类

Php 与smarty一起使用类,php,function,class,smarty,undefined,Php,Function,Class,Smarty,Undefined,我对php和smarty非常陌生 我试图调用一个函数,但不明白为什么它是未定义的。 这是我的密码: include 'header.php'; include 'template/footer.tpl'; class indexmessage{ function message(){ global $pdo; $query = $pdo->prepare("SELECT * FROM hovedside WHERE id = 1");

我对php和smarty非常陌生

我试图调用一个函数,但不明白为什么它是未定义的。 这是我的密码:

include 'header.php'; include 'template/footer.tpl'; class indexmessage{ function message(){ global $pdo; $query = $pdo->prepare("SELECT * FROM hovedside WHERE id = 1"); $query->execute; return fetchAll(); } } $smarty->assign('indexmessage', message()); $smarty->display('index.tpl'); 包括“header.php”; 包括“template/footer.tpl”; 类索引消息{ 函数消息(){ 全球$pdo; $query=$pdo->prepare(“从id=1的hovedside中选择*); $query->execute; 返回fetchAll(); } } $smarty->assign('indexmessage',message()); $smarty->display('index.tpl');
我做错了什么?

因为
消息
函数是
索引消息
的一种方法。这与Smarty无关,它只是基本的OOP

$index = new indexmessage();
$message = $index->message();
$smarty->assign("indexmessage",$message);

所以当我调用它时,我使用{$message}?我现在得到了这个错误注意:未定义属性:PDOStatement::$execute在第14行的my_path/index.php中致命错误:调用未定义函数fetchAll(),在第16行的my_path/index.php中,因为它应该是
$query->execute()
返回$query->fetchAll()在继续之前,你真的应该仔细阅读基本OOP…泰:)是的,我正在尝试^ ^,