PHP对象属性声明错误

时间:2010-12-18 01:44:51

标签: php

在我正在创建的PHP类中定义属性时遇到了一些麻烦。

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

?>

产生以下错误:

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 4.5。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

  

我的服务器正在运行PHP 4.5

这是你的问题:PHP 4不知道public关键字 - 以及一堆other OOP features

正如@konforce所说,在您展示的代码中,您只需切换到使用var关键字即可。但最好的办法是切换到PHP 5. PHP 4的时间确实已经过去了。