PHPで匿名クラスを作成するためのアイデアが必要です。私はどのように働くことができるのか分かりません。匿名クラスの構築
私の限界を参照してください:
- PHPであなたは(
class {}
のような)匿名関数のように、匿名クラスを作ることはできません。 - PHPでは、クラススコープはありません(名前空間は例外ですが、以下同じ問題があります)。
- PHPでは、変数を使用してクラス名を指定することはできません(
class $name {}
など)。 - 私は
runkit
PECLをインストールするためのアクセス権がありません。
、そしてなぜ:
まあ、私は、キーの名前と匿名クラスを受信すなわちcreate_class()
という関数を作成する必要があります。 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()
で
内部キャッシュが(のようなit.is.an.example
それは単に新しいクラスのオブジェクトを返す。、負荷を必要としない場合。だから私は、クラスファイルはしっかりと何検索する$class
コンテンツを使用します。
$class
定義を持っている場合
PHPの匿名クラスの欠如は非常に制限的です。 – MirroredFate
この質問を調べることができます:http://stackoverflow.com/q/6384431/3933332 – Rizier123
なぜ無効なクラス名を使用する必要がありますか?なぜあなたはこれらのものを単に代用することはできないのですか?」と言いましょう。 –