2016-10-18 10 views
-3

すべてがタイトルに含まれています。私はPHPで何をしたいの Exemple:変数の値による呼び出し関数

function x($name){ 
echo 'hello'.$name; 
} 

$var = "x"; 

$$var('Joe'); 

リターン「ジョー」

私はこの質問には、すでに多くの答えを考えるが、私はので、私の検索クエリは無意味です、それを綴るために右の単語を見つけることができません...

おかげ

編集:私はプレイフレームワークとScalaのを使用していると私は、ユーザーエージェントに基づいて別のテンプレートを呼び出したいです。あなたがこれを行うことができますリフレクションを使用して

Ok(views.html.<Template name based on user agent>(many args)) 
+0

だから、これはPHP、JavaやScalaの質問ですか?また、あなたの質問は何ですか? – azurefrog

+0

これはJavaでは不可能です。あなたが解決しようとしているビジネス要件は何ですか? –

+2

これは、JavaやScalaでリフレクションを使用して*可能ですが、あなたが実際にやりたいことをやるより良い方法があります。ティモシーが言ったように、なぜあなたはこれが必要だと思うのですか? – Jesper

答えて

1

が、構文は非常に冗長である:私が行う方法を検索

Ok(views.html.templateFileName(many args)) 

: は、劇中で私が使用してテンプレートを呼び出します。

Fooと呼ばれるクラスを宣言し、整数の引数を取り、通常、我々はfooFooクラスのオブジェクト参照であり、このfoo.bar(1)ようなメソッドを呼び出す整数

を返しbarと呼ばれる内部メソッドを宣言します。

これで、メソッドの名前はbarです。

class Foo { 
    def bar(x: Integer): Int = x * x 
} 

val result = classOf[Foo].getDeclaredMethod("bar", classOf[Integer]).invoke(new Foo, new Integer(1)) 

REPL出力

@ class Foo { 
    def bar(x: Integer): Int = x * x 
    } 
defined class Foo 
@ 
@ val result = classOf[Foo].getDeclaredMethod("bar", classOf[Integer]).invoke(new Foo, new Integer(1)) 
result: Object = 1 
関連する問題