-1

私は状況にあります。

私のphpフォルダー構造は次のようなものです

UI
  user
    login.php
    logout.php
  jquery
    somejs

  css
    somecss
blah.php
blah.php

css、js、またはphpファイルをインポートするには、次のようなファイルパスを使用しています

localhost/UI/user/index.php  // example  

今、私はどのページでもグローバル変数を定義しようとしています

 <?php
    $somevar = "localhost";
    GLOBAL $somevar;
    ?>   

のようなcss jsをインポートできるように

<?php echo $somevar ;?>/UI/user/index.php  // example  

問題:変数をGLOBALとして宣言したページでのみ動作しています

各ページで変数を使用したいが、インクルードは使用したくない

php で files フォルダーの変数を定義する他の方法はありますか?

4

4 に答える 4

0

define()この目的のために関数を使用する必要があります

config.php
<?php
define("host", "localhost");
?>  

HOSTここで、変数にアクセスする場所にこのページを含めます。

このようにこの変数にアクセスできますecho host;

于 2012-09-26T06:56:52.803 に答える
0

で変数を宣言しませんglobal。メソッドまたは関数の本体内で使用できるようにするだけです。したがって、宣言されていない限り、変数を持つ方法はありません。そして、PHPコードを実行せずにそれを行う方法はありません(単純化しますが、ここでは問題ではありません)。そして、コードはどこからともなく来ているわけではないため、変数を設定するコードが必要includeです。require

を使用して変数を自動インクルードすることもできphp.iniますauto_include_fileが、そのためには PHP コードを使用する必要があります。

しかし、あなたは一般的にそれを間違っています。すべてのグローバル変数をクラスに移動し、オートローダーを設定して静的にアクセスします。コードはずっときれいになります。

于 2012-09-26T06:40:11.243 に答える
0

まあ、私の経験によると..グローバルは、関数外で定義された関数内の変数にアクセスするために使用されます。同じことに対してさまざまな解決策が考えられますが、セッションまたは Cookie を使用することをお勧めします。データをセッション / Cookie に保存し、必要に応じてアクセスします。

于 2012-09-26T06:49:13.700 に答える
0

特別な PHP 定義の $GLOBALS 配列を使用できます。$GLOBALS 配列は、グローバル変数の名前がキーであり、その変数の内容が配列要素の値である連想配列です。$GLOBALS がどのスコープにも存在することに注意してください。これは、$GLOBALS がスーパーグローバルであるためです。

css、js、または静的ファイル、つまり画像などをアプリケーションに適用するために、グローバル変数を定義する必要がない場合があります。相対パスを使用して js ファイルと css ファイルを含めることができます。この記事を参照して 、相対パスと絶対パスについて詳しく知ることができます。

于 2012-09-26T06:50:09.167 に答える