クラスが定義されたのと同じファイル内でのクラスのインスタンス化を妨げるルールはありません。それはすべて、あなたがそれで何をしたいのかにかかっています。
たとえば、クラスをインスタンス化してインスタンスを返す静的メソッドを作成できます。これは、シングルトン パターンまたはファクトリ パターンを実装する場合に便利です。$obj
ただし、例で定義している変数のようなグローバル変数を持つことは悪い習慣と見なされます。
作成時にインスタンスを初期化するだけの場合は、コンストラクターで実行する必要があります。
たとえば、MyClass
クラスはMyClass.php
ファイルに存在する可能性があります。
<?php
class MyClass {
private $a;
public function __construct() {
$this->a = 'This is my class file';
}
public function myFunction() {
return $this->a;
}
}
次に、実際にMyClass
インスタンスを使用するファイルで、次のようにすることができます。
<?php
require_once 'MyClass.php';
$myInstance = new MyClass();
echo $myInstance->myFunction();