PHPで匿名クラスを作成するアイデアが必要です。どうしたらいいのかわからない。
私の制限を参照してください:
class {}
PHPでは、無名関数(のような)のような匿名クラスを作成することはできません。- PHPでは、クラススコープはありません(名前空間を除きますが、以下でも同じ問題があります)。
- PHPでは、変数を使用してクラス名を指定することはできません(など
class $name {}
)。 runkit
PECLをインストールするためのアクセス権がありません。
私が必要とするものとその理由:
create_class()
さて、私はキー名と匿名クラスを受け取るieと呼ばれる関数を作成する必要があります。PHPが受け入れられない別の名前クラスのシンボルを使用したいので、これは私にとって便利です。例えば:
<?php
create_class('it.is.an.example', function() {
return class { ... }
});
$obj = create_object('it.is.an.example');
?>
だから、私はこの使用を受け入れるアイデアが必要です。私のフレームワークには次のパスがあるため、これが必要です/modules/site/_login/models/path/to/model.php
。したがって、model.php
と呼ばれる新しいクラスを宣言する必要がありsite.login/path.to.model
ます。
create_object()
内部キャッシュに$class
定義がある場合は呼び出しit.is.an.example
時に(新しいクラスオブジェクトを返すだけです。そうでない場合はロードが必要です。そのため、$class
コンテンツを使用してクラスファイルをすばやく検索します。