0

外部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";
        }
    }
}

それは何もしません。

誰でも私を助けることができますか?

4

2 に答える 2

0

echo関数から試行する代わりにreturn、変数を関数の引数として渡します。また、使用しないでください。エラーが発生しない場合は、 Try like$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;
于 2013-10-29T09:10:20.783 に答える
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);
 ?>
于 2013-10-29T09:41:09.960 に答える