が含まれます。は、内部の現在のメソッド名を取得、私は現在、このPHPコードを持っている/必要
private function generateSpecialPage(){
require_once("/view/pages/special.php");
}
Special.phpは、ほとんどがhtmlで埋め込まれたPHPファイルです。私はspecial.phpの中から現在の関数の名前を取得しようとしています。
必要とする前に、私は魔法の定数関数をエコーした場合、それは私が欲しいものである、「generateSpecialPage」をエコーします。しかし、special.phpからFUNCTIONをエコーすると、何もエコーされません。現在の方法にも同様にエレガントな解決策があった場合
私はget_class($ this)を使用してspecial.php内から現在のクラスの名前を取得することができるよ、私は思っていました。
より良い質問:なぜ?あなたのコードは、実行される関数に気を付ける必要はありません。もしそうであれば、意図的に将来のバグをベーキングし、再配置やページの書き換えが必要なときに、コードベースに対する将来のメンテナンスを妨げます。 –
私は関数/ページの名前を変更し、私の質問とは無関係な行を削除しました。おそらくそれが混乱の原因になります。私はこのような15の他の関数を持っており、それらはすべて "special.php"をビューとして使用します。それが実行される機能が気になるのは、 "special.php"を実装するたびにページがわずかに異なり、ユーザのやりとりがわずかに異なるからです。私はわずかな変化ごとに新しいビューを作成したくありません。それは管理するのは悪夢です。むしろ、各関数またはクラス自体の変数に宣言または代入するよりも、関数名を使用したいと思います。 – Sefam
これは「あなたが持っているものはすべてハンマーで、すべての問題は爪のように見える」のように聞こえる。 "special.php"を15個の異なる関数の中に含めるのではなく、それぞれの中で異なることを魔法のようにして、 "special.php" **を関数にするようにしてください。 casevalue) 'を使用することで、単一の、明らかに、簡単にログに記録し、デバッグしやすく、場所を簡単に保守することができます。 –