调用php类函数时出错

时间:2013-10-29 09:05:59

标签: php class

我正在尝试在外部php类文件中调用函数

control.php

require_once ('../vista/ViewEscola.php');
$a = new A();
$a->foo();

这是外部文件ViewEscola.php

class A
{
    public function foo()
    {
        if (isset($this)) {
            echo '$this is defined (';
            echo get_class($this);
            echo ")\n";
        } else {
            echo "\$this is not defined.\n";
        }
    }
}

它没有做任何事情,

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

而不是echo从函数中尝试return,并将变量作为函数的参数传递。也不要使用$this。如果没有收到任何错误,请尝试显示错误与ini_set('display_errors', true'); error_reporting(E_ALL);一样尝试

require_once ('../vista/ViewEscola.php');
class A
{
    public function foo($arg)
    {
        if (isset($this)) {
            $ret = '$arg is defined (';
            $ret .= get_class($arg);
            $ret .= ")\n";
        } else {
            $ret =  "\$arg is not defined.\n";
        }
        return $ret;
    }
}

$arg = 'Hi';
$a = new A();
$ret = $a->foo($arg);
echo $ret;

答案 1 :(得分:0)

     <?php
    class A
   {
      public function foo()
     {
        if (isset($this)) {
        echo '$this is defined (';
        echo get_class($this);
        echo ")\n";
    } else {
        echo "\$this is not defined.\n";
    }
}
}
  $a = new A();
  $a->foo();
  ?>

我已经尝试将上面的代码片段执行到php中并打印出“$ this is defined(A)” 因此,可能存在与将类文件包含在代码片段中的路径相关的问题

您可以使用以下代码段识别错误

 <?php
    ini_set('display_errors',1);
    error_reporting(E_ALL);
 ?>