0

File1.phpこれで、共有したい変数を含むファイルであるかどうかがわかりました。私は出来ます:

  1. 変数が宣言されているファイル内から、変数を使用する必要があるファイルを含めます。

    File1.php

    <?php
        session_start();
        $username="user1";
        $_SESSION['username']=$username;
        include('File2.php');
    ?>
    

    そして、File2.phpで、次のようなユーザー名にアクセスします。

    <?php
        echo $username;
    ?>
    
  2. 変数定義を含むファイルを、必要に応じて別のphpファイルに含めます。

    File3.php

    <?php
        include('File1.php');
        echo $username;
    ?>
    
  3. File5.phpそして、Sessionを使用して、、など、必要な数のファイルの変数にアクセスしますFile6.php

    File5.php

    <?php
        session_start();
        echo $_SESSION['username'];
    ?>
    

    File6.php

    <?php
        session_start();
        echo $_SESSION['username'];
    ?>
    

これらすべてのメソッドの中で、セッションを使用するメソッドは、複数のファイル間で変数を共有するために使用できる唯一のメソッドです。

1つのファイルで宣言された変数を複数のファイル間で共有する他の方法は何ですか?

4

6 に答える 6

3
  1. 含む
  2. セッション
  3. クッキー
  4. データベース
  5. ファイル
  6. 定数
  7. そして、そうではない(カスタム)
于 2012-12-24T04:31:48.103 に答える
1

PHP5 のオートローディングを使用してこれを行うことができます。「定数」などと呼ばれるクラスを作成し、__get()メソッドをオーバーライドして(これを参照)、ファイルなどから値を読み取ります。

この方法を使用すると、何かを含めることなく、このようなコードを任意のファイルに書き込むことができます。

$constants = new Constants();
$myVar = $constants->var_name;
于 2012-12-24T04:32:59.897 に答える
1

HTTPはステートレスです。つまり、各リクエストは他のすべてのリクエストから完全に独立しています。別の言い方をすれば、あるページの読み込みから別のページの読み込みに変数を渡す方法は文字通りありません。

ただし、クッキーはこれを回避する方法です。ただし、状態はブラウザー側 (どの Cookie を送信するか) とサーバー側 (どのセッション データがそれらの Cookie に関連付けられるか) で保持されることに注意することが重要ですが、それらの間の接続はこの状態を認識しません。移行。

基本的に:いいえ、あなたが概説したもの以外に方法はありません.

于 2012-12-24T04:31:13.240 に答える
0

PHP クラスを使用すると、他のクラスで変数を操作するためのオプションが増えます。

于 2012-12-24T04:32:33.680 に答える
0

次の例のように、PHP の を使用します。define

define("CONSTANT", "Hello world.");
于 2012-12-24T04:31:36.713 に答える
-1

グローバルとして宣言することもできます。

global $variable;
于 2012-12-24T04:39:37.280 に答える