0

当我包含 SimplePie RSS 脚本 (simplepie.inc) 时,我已将问题范围缩小到这一行。我不确定它究竟为什么会抛出这个错误,但我认为 StackOverflow 可能比我迄今为止通过谷歌找到的更多洞察力。

这是我用来获取 SimplePie 提要结果的简单类的代码:

<?php

// Include SimplePie
require_once("simplepie.inc");

class Channel
{
    public $feed = new SimplePie();

    private $feedURI = "";

    function __construct($URI)
    {
        $this->feedURI = $URI;

        $this->feed->set_feed_url($this->feedURI);
        $this->feed->init();
        $this->feed->handle_content_type();
    }
}

?>

如果您对我有任何见解,那就太棒了!谢谢!

4

2 回答 2

3

定义属性时不能实例化类。只有常量值是有效的语法。$feed而是在构造函数中实例化:

public $feed;

public function __construct($URI)
{
    $this->feed = new SimplePie();
    // ...
}

手册

这个声明可能包括一个初始化,但这个初始化必须是一个常量值——也就是说,它必须能够在编译时被评估,并且不能依赖于运行时信息才能被评估。

于 2012-05-25T22:26:42.553 回答
2
public $feed = new SimplePie();

您不能在属性声明中使用函数或类赋值。定义为NULL,并将属性值设置为新的SimplePi

于 2012-05-25T22:27:14.143 回答