-1

これで壁にぶち当たります。質問の言い回しがよくわからないし、まともなキーワードも思いつかないので、答えを見つけるのは難しい.

私が書いている MVC フレームワークで使用するビュー オブジェクトを作成しています。それは、スクリプト出力を結び付けてページを組み立てます。つなぎ合わせの部分に引っかかってます!

script1.php:

<?php

$variable = solution('/path/to/script2.php');
echo $variable;

?>

script2.php:

<?php

// generates a random md5 hash just for example

mt_srand(microtime(true)*100000 + memory_get_usage(true));
$randommd5 = md5(uniqid(mt_rand(), true));
echo $randommd5;

?>

script1.php を実行するたびに、これらの両方のスクリプトが同じ値を返すようにするにはどうすればよいですか?

この目的のためのPHP関数はありますか? そうでない場合、これを達成するための簡単で安定した方法はありますか?

4

3 に答える 3

2

個人的には、関数でラップします。関数スクリプトを含めたい場合は、次のようにすることができます。

script1.php

 include('script2.php'); //now all functions and variables are available to script1
 $variable = md5function();

script2.php

 function md5function() {
   mt_srand(microtime(true)*100000 + memory_get_usage(true));
   $randommd5 = md5(uniqid(mt_rand(), true));
   return ($randommd5);
 }

script2 は変数 ($randommd5) を返し、それが script1 の $variable に割り当てられます。

于 2012-09-26T01:06:54.303 に答える
1

http://php.net/manual/en/function.include.php

インクルードされたファイル内から値を「返す」場合、それは include() 呼び出しの戻り値である必要があります (doco に従って)。

ただし、それを行うには優れた方法ではありません-関数またはその他のより標準的なメカニズムの方が優れています。

于 2012-09-26T01:02:27.743 に答える
0

これにより、関数を使用できるようになります。インクルード ファイル内の関数に var を渡し、何かを取得します。とにかく最適化されていないので、かなり単純化しました。それが役に立てば幸い :)

script1.php

<?php

include("script2.php");
echo get_hero_name("batman");

?>

script2.php

<?php


function get_hero_name($hero){

switch ($hero) {
    case "batman":
        $return_var = "Bruce Wayne";
        break;
    case "superman":
        $return_var = "Clark Kent";
        break;
    Default:
        $return_var = "Papa Smurf";
        break;
}
return($return_var);

}

?>
于 2012-09-26T01:14:03.847 に答える