PHP在类中定义函数

tkr*_*car 1 php oop

这里很简单的问题.用PHP做我的第一个OO编程,更习惯于Java和C#.

使用此类定义:

class RouteParser {
    var $DEBUG = 1;

    function parse($from, $to, $route){
        debug("test");
        debug("test again");
    }

    function debug($arg) {
        if($DEBUG) {
            echo "<pre>DEBUG: " . print_r($arg) . "</pre>";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

而这个执行代码:

include("RouteParser.php");
$rp = new RouteParser();
$return = $rp->parse("from","to","test");
Run Code Online (Sandbox Code Playgroud)

我收到错误:

致命错误:在第7行的C:\ xampplite\htdocs\routeparse\RouteParser.php中调用未定义的函数debug()

据我所知,PHP不支持函数原型,所以我很难说如何告诉一个类函数另一个类函数存在...根据我在PHP文档中发现的,这只是一个问题,如果函数在条件内(这是有道理的)......

got*_*top 11

$this->debug()改用.$this让PHP在类本身中寻找函数,同时debug()让PHP在全局范围内寻找一个名为debug的函数.