+ -
当前位置:首页 → 问答吧 → 2.1 对象变量的输出报错

2.1 对象变量的输出报错

时间:2011-09-15

来源:互联网



文档中变量输出段描述:
如果我们需要把一个用户数据对象赋值给模板变量:
$User = M('name');
$user = $User->find(1);
$this->assign('user',$user);
也就是说$user其实是一个数组变量,我们可以使用下面的方式来输出相关的值:
{$user['name']} // 输出用户的名称
{$user['email']} // 输出用户的email地址

如果$user是一个对象而不是数组的话,
$User = M('name');
$User->find(1);
$this->assign('user',$User);
可以使用下面的方式输出相关的属性值:
{$user:name} // 输出用户的名称
{$user:email}   // 输出用户的email地址

修改例子里面的CURD的EDIT使用对象输出时,报错unexpected ':' ,

使用的是最新的2.1版

  
修改前:
  1.         // 编辑数据
  2.         public function edit() {
  3.                 if(!empty($_GET['id'])) {
  4.                         $Form        =        M("Form");
  5.                         $vo        =        $Form->getById($_GET['id']);
  6.                         if($vo) {
  7.                                 $this->assign('vo',$vo);
  8.                                 $this->display();
  9.                         }else{
  10.                                 exit('编辑项不存在!');
  11.                         }
  12.                 }else{
  13.                         exit('编辑项不存在!');
  14.                 }
  15.         }
复制代码

修改后:
  1.         // 编辑数据
  2.         public function edit() {
  3.                 if(!empty($_GET['id'])) {
  4.                         $Form        =        M("Form");
  5.                         $Form->getById($_GET['id']);
  6.                         if($Form) {
  7.                                 $this->assign('vo',$Form);
  8.                                 $this->display();
  9.                         }else{
  10.                                 exit('编辑项不存在!');
  11.                         }
  12.                 }else{
  13.                         exit('编辑项不存在!');
  14.                 }
  15.         }
复制代码
页面代码修改:
{$vo.title} 修改为{$vo:title}

Parse error: syntax error, unexpected ':' in D:\php\xampp\htdocs\ThinkPHP\Examples\CURD\Runtime\Cache\01f402d508d146a1f5ad19002f1d8321.php on line 36

作者: kangaroo_xin   发布时间: 2011-09-15

看来是文档里面描述有误了,不知道是不是当初被word自动过滤了
应该是 {$vo::title}

作者: thinkphp   发布时间: 2011-09-15

原来不是文档的问题,看了下2.0版本确实是:的方式和文档是一致的 不知道是什么时候改成::的,暂时先还原采用文档的方式了。

作者: thinkphp   发布时间: 2011-09-15

嗯,感谢答复

作者: kangaroo_xin   发布时间: 2011-09-15