2010-12-18 4 views
0

내가 만드는 PHP 클래스에서 속성을 정의하는 데 문제가 있습니다. 내가 올바른 구문을 말할 수있는 지금까지PHP 개체 속성 선언 오류

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/8/d335242830/htdocs/caseyflynn/php/display_formatted_RSS_feed.php on line 3 

:

<?php 
class news_parser { 
    public $var1 = Array(); 
    function contents($parser, $data) { 
     printf($data); 
    } 
    function start_tag($parser, $data, $attribs) { 
     printf($data); 
    } 
    function end_tag($parser, $data) { 
     printf($data); 
    } 
    function parse() { 
     if(!$file = fopen("http://services.digg.com/2.0/story.getTopNews?type=rss&topic=technology", "r")) 
      die("Error opening file"); 
     $data = fread($file, 80000); 

     $xml_parser = xml_parser_create(); 
     xml_set_element_handler($xml_parser, array($this, "start_tag"), array($this, "end_tag")); 
     xml_set_character_data_handler($xml_parser, array($this, "contents")); 
     if(!xml_parse($xml_parser, $data, feof($fh))) 
      die("Error on line " . xml_get_current_line_number($xml_parser)); 
     xml_parser_free($xml_parser); 
     fclose($fh); 
    } 
} 

$digg_parser = new news_parser(); 
$digg_parser->parse(); 
echo phpversion(); 

?> 

다음과 같은 오류를 생성합니다. 내 서버에서 PHP 4.5가 실행 중입니다. 어떤 아이디어?

답변

4

My server is running PHP 4.5

이 문제는 다음과 같습니다 PHP 4는 public 키워드를 모르는 - 함께 other OOP features의 힙.

@konforce가 말한 것처럼 코드에 표시 되듯이 var 키워드로 간단히 전환 할 수 있습니다. 하지만 가장 좋은 것은 PHP 5로 전환하는 것입니다. PHP 4의 시간은 실제로 끝났습니다.

+0

'public'을'var'으로 바꿀 수는 있지만 Pekka의 충고는 여전히 사실입니다. – Matthew

+0

고마워, 어쨌든 나는 PHP5와 함께 일한다. 그러나 이것은 클래스를위한 것이고 나의 교수는 그의 사적인 웹 서버에서 PHP4를 고수하기위한 이상한 이유가있다. –

+0

@Casey : 그는 아마도 오래된 PHP 코드를 가지고있을 것입니다. – Jonah