私はPHPが巣クラスではないことを知っているが、2つのクラスが2つのファイルにしていることができるかどうかということらしい:PHPはクラスを2つのファイルにネストできますか?
MainClass.php:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);
class mainclass
{
private $var;
public function __construct()
{
require_once ('subclass.php');
$subinstant = new subclass();
}
}
$maininstant = new mainclass();
そしてsubclass.php
<?php
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
class subclass
{
public function __construct()
{
$this->var="this-var\n";
echo $this->var;
$test="test in construct\n";
echo $test;
function testvar()
{
//$this->var = "this-var in fun\n";
//echo $this->var;
$funtest="test in fun\n";
echo $funtest;
}
testvar();
}
}
エラーは出力されず、結果は期待どおりです。私はちょうどrequire_once
を理解していない、それはsubclass.php
のコードを含むようだ、違いは何ですか、同じ位置に直接書くことに比べて?
さらに$var
のtestvar()
にアクセスするにはどうすればよいですか。 (あなたが考えることができる多くの方法を使用してください)、ありがとう!
これらはネストされたクラスではありません。必要な/インクルードされたファイルは、実行時に 'require'または' include'文に達したときに解析されます。 'require'はコピー・ペーストではありません。 – axiac