私はこのようなクラスを持っています:
// file /models/person.php
class Person
{
public function create_path()
{
self::log();
path_helper($this); //a global function in other php file
}
public function log()
{
echo "trying to create a path";
}
}
これはどのようにインスタンス化されるかPerson
です:
//file /tools/Builder.php
include('/models/Person.php');
class Builder
{
public function build()
{
$type = 'Person';
$temp = new $type();
$temp->create_path();
}
}
Person クラスで指摘したように、問題のオブジェクトを$this
参照して呼び出しています。ただし、エラーが表示されるため、これは正しくありません。
メッセージ: 未定義の変数: this
$this
オブジェクトが別のスクリプトから作成されているため、他のオブジェクトへの参照ポイントが機能しないか、機能しないと思います。また、self
メソッドの呼び出しに問題がなかったので使用しようとしましたが、パラメーターとして次のようになります。
メッセージ: 未定義の定数 self の使用 - 想定 'self'
それで、正しい方向に私を導くことができますか?