0

問題を SimplePie RSS スクリプト (simplepie.inc) を含める行に絞り込みました。なぜこのエラーがスローされるのか正確にはわかりませんが、StackOverflow には、これまで Google で見つけたよりも多くの洞察があるのではないかと思いました。

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 として定義し、プロパティ値を new SimplePi として設定します

于 2012-05-25T22:27:14.143 に答える