2016-07-17 4 views
1

私は、Webアプリケーションのプロパティを考えるマネージャPHP変数の例をWebで見ています。 主な問題は、私はこのコードというigualを書くのは好きではないということです。Webプロパティを扱うためのPHP変数

Link

私はクラスでは、ファイルの.phpを含めたいです。変数のリストをアップし、このような何か:

$MSGdisplay = ''; 
$MSGemail = ''; 
$MSGnotification = ''; 

と簡単な呼び出しでどこでもスクリプトでそれらを使用する:新しい値を割り当てる機能を失うことなく

$G['MSGdisplay'] = 'This is an example of code'; //more short that $_GLOBALS array 

例:

ファイル

<?php 
    require_once("main.php"); 
    global $G; 
    $G['test'] = 'Text Test'; 
    $WebAPP  = new Class_MAIN(); 
    $WebAPP  -> Main(); 
?> 

のindex.phpファイルMain.php

<?php 
    class Class_MAIN{ 
     function Main(){ 
      echo $G['test']; 
     } 
    } 
?> 

注意:未定義の変数:行4

にmain.phpでG
+0

がrequire_onceを – C2486

+0

グローバル$ G前に、グローバル変数を定義しeficientされていません。 require_once( "main.php"); $ G ['test'] = 'テキストテスト';同じ問題が発生しない –

答えて

0

Rグローバル$ Gをemove;

<?php 
     $G['test'] = 'text test'; 
?> 

コールバックファイルvarscall.phpを作成しますのindex.phpとMain.phpのmain関数の内部でそれを移動することから

<?php 
class Class_MAIN{ 
    function Main(){ 
     global $G; 
     echo $G['test']; 
    } 
} 
?> 
+0

okこれで、避けたいのは、構造を作成するのに必要な各関数で次のコード行を繰り返します。 グローバル$ G; echo $ G ['test']; と本当にも同様に宣言し、定数としてではなく変数として動的でクセと容易にするために [] $ Gのようなものに、配列$ GLOBAL []の名前を短くしたいです –

0

はコンテンツ変数を持つファイルvars.phpを作成して解決することができます

:コンテンツ変数呼び出しglabal

<?php 
     global $G; 
?> 

利用して上部のインデックスでインスタンスファイルを要求

使用コールバックバールファイルigual、あなたが必要とする関数内の変数を使用します。require("varscall.php");とオブジェクトとしてこれを作成する必要があります。

<?php 
    class Class_MAIN{ 
     function Main(){ 
      require("varscall.php"); 
      echo $G['test']; 
     } 
     function Other(){ 
      require("varscall.php"); 
      echo $G['test']; 
     } 
    } 
?> 

主な問題は、インクルードファイルの呼び出しを必要とfuncionごとに繰り返し必要があるということです。 ..

関連する問題