2012-05-25 4 views
0

SimplePie RSS 스크립트 (simplepie.inc)를 포함하면 문제가 줄에 맞게 좁혀졌습니다. 왜 정확히이 오류가 발생하는지 확신 할 수 없지만 StackOverflow가 Google을 통해 지금까지 찾을 수 있었던 것보다 더 많은 통찰력을 가지고 있다고 생각했습니다. 당신이 나를 위해 전혀 통찰력이있는 경우SimplePie RSS 스크립트를 포함 할 때`T_FUNCTION '을 (를) 예상하는 구문 분석 오류가 발생했습니다.

<?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(); 
    } 
} 

?> 

하면 해당 좋지 않을까 :

는 여기가 SimplePie를 공급 결과를 얻기 위해 사용하고 간단한 클래스에 코드입니다! 고맙습니다!

+1

PHP 파일이'.php '이외의 것으로 끝나는 것은 보안상의 관점에서 볼 때 매우 나쁜 생각입니다. 또한 공공 시설은 인 캡슐 레이션을 중단합니다. – rid

+0

오류가 발생한 행은 무엇입니까? –

답변

3

속성을 정의 할 때 클래스를 인스턴스화 할 수 없습니다. 상수 값만 유효한 구문입니다.

public $feed; 

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

the manual에서 : 대신 생성자 내부 $feed를 인스턴스화 상수 값을이 선언은 초기화를 포함 할 수있다

하지만,이 초기화가 있어야합니다 - 즉, 평가 할 수 있어야합니다 컴파일 할 때 런타임 정보에 의존해서는 안된다.

2
public $feed = new SimplePie(); 

당신은 속성 선언에서 함수 또는 클래스 할당을 사용할 수 없습니다. NULL로 정의하고 새로운 SimplePi로 속성 값을 설정하십시오