2012-03-18 13 views
-1

別のスクリプトの変数に基づいて実行するスクリプトがあります。スクリプトの先頭に、変数スクリプトが必要です。PHP関数Global対Require

私はスクリプトを編集しやすくするために、私のスクリプトの多くがまったく同じことをするため、関数を作成することにしました。関数では、私は変数スクリプトで設定された変数のいくつかを引き出す必要があります。 requireを使ってみましたが、スクリプトを非常に遅くする傾向があります。私はPHPのグローバルを設定することができますが、どこかでグローバルを使用するのは悪い考えですか?これは本当ですか?

これを行うには、関数内のrequireまたはグローバルを使用する以外にも、これを行うより良い方法はありますか?

コード:

function test() 
{ 
    require('var.php'); 

    // function code 
} 

OR

require('var.php'); 

function test() 
{ 
    global $var_variable1, $var_variable2; 

    // function code 
} 
+2

コードを表示してください! – markus

+0

問題のコードが表示されない場合は、何も示唆することができません –

+0

いくつかのコード例を投稿しました – evanvee

答えて

1

変数が固定されている、それは定数を使用するための良いソリューションです。

すべての定数のPHPファイルを作成します:定数名大文字コンベンションを使用することにより

<?php 
define("FOO",  "something"); 
define("FOO2", "someotherthing"); 
?> 

を。 スクリプトファイルには、すべての定数を定義するスクリプトファイルをインクルードするための最初の行としてrequire_once()を使用します。

すべてのサポート機能を含むスクリプトで同じことを行い、スクリプトからファイルをrequire_onceします。

可能であれば、OOPをPHPで使用してください。オブジェクトでは、非常にクールなことをすることができます。これがあると、ファイル内

param.phpファイルtest.phpを

<?php 

    require 'param.php'; 

    function foo($bar) 
    { 
     var_dump($bar); 
    } 

    foo($param); 

?> 

しかし、あなたが理解しておくべきで

<?php 
    $param = 1234; 
?> 

+0

これらは機能しているのでしょうか、それでもファイルを要求する必要がありますか? – evanvee

+0

すべての定数を定義するスクリプトをrequire_once()すると、それらはグローバルに表示されます。 – dAm2K

2

は実際には第三の選択肢があります変数を扱い、あるコードから別のコードに命令を渡す非常に原始的な方法です。

PHP言語の基礎を学んだら、オブジェクト指向プログラミング方法論の調査を開始する必要があります。それが成長する方法でしょう。