无法通过引用分配重载对象

时间:2013-03-21 18:33:19

标签: php wordpress object overloading

这是我的wordpress主题的一部分,它给了我最后一行代码的错误。 我在PHP 5.4上运行wordpress 3.5.1

Fatal error: Cannot assign by reference to overloaded object in C:\server\htdocs\web\digitalnak\wp-content\themes\rework\framework\php\PeTheme\PeThemeGallery.php on line 234

这是代码

 $post =& get_post($id);
    if (!$post ) return $post;
    $null = null;
    if ($post->post_type != "gallery") return $null;

    $meta =& $this->master->meta->get($id,$post->post_type);
    $post->meta =& $meta;

1 个答案:

答案 0 :(得分:0)

没有看过任何东西 - 因此这可能根本不起作用 - 试试这个:

$post =& get_post($id);
if (!$post ) return $post;

$null = null;
if ($post->post_type != "gallery") return $null;

$meta =& $this->master->meta->get($id,$post->post_type);
$post->meta = $meta;

看起来您通过引用ArrayAccess对象来分配值。这在某些版本的PHP中不起作用。我无法判断这一点,但看起来好像这段代码使用了非常重要的传递,可能超过了必要。