質問

を使用してい ge_called_class hackを下旬に静的拘束力を有すphp version5.2(見 こちらの).

私は、以下の私のコード:

# db_record.php
$ac = "ForumThread";
$objects = $ac::find("all");

この作いたしませんphp5.2何らかの理由で行っています:

# db_record.php
$ac = "ForumThread";
eval("\$objects = {$ac}::find('all');");

この一方では動作しませんの get_called_class 機能です。または、エラーの file 機能が読み込めないevaled部のコードです。

役に立ちましたか?

解決

使用している場合は、<エバール>ソリューションが間違っている。

なお非エバール版です。何がおかしい?の完全なエラーメッセージ?

のユーザー suppled版 get_called_class を行うcとうを呼び出し側のファイルを決定するクラスの名前です。その理由に<エバール>に失敗したが、<エバール>の再ん供給するファイル名を指定します。

(編集:また、その get_called_class hackがhack.理由がありま使用できません5.3?)

ただしてみました call_user_func? call_user_func(array($ac, 'find'), 'all') すべ のstaticメソッド find のためのクラス名に含まれる $ac のパラメータ 'all'.も参考にしてください コールバックの疑似タイプ、"第2種"とえば特定の

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top