2009-10-07 10 views
9

メンバー変数を持つクラスがあります。 クラスが静的コンテキストから呼び出されているときにクラス内のメンバー変数にアクセスするPHPの構文は何ですか?PHPで静的定数メンバー変数を参照する方法

基本的にはクラスメソッドを呼び出すが(新しいオブジェクトは作成しない)、クラスメソッドが呼び出されると、いくつかの静的定数変数を初期化して、別のクラス間で共有する必要があるメソッド。

または私が提案していることをより良い方法があれば、私と共有してください(私はPHPを初めて使っています) ありがとう!

例えば、

私はPHP 5バージョンを提供します簡潔の便宜上
 
class example 
{ 
    var $apple; 

    function example()//constructor 
    { 
     example::apple = "red" //this throws a parse error 
    } 

} 

答えて

16

:基本的に私はクラス メソッドを呼び出します(ただし、新しいオブジェクトを作成しない)にしたい

class Example 
{ 
    // Class Constant 
    const APPLE = 'red'; 

    // Private static member 
    private static $apple; 

    public function __construct() 
    { 
     print self::APPLE . "\n"; 
     self::$apple = 'red'; 
    } 
} 
+2

をお試しくださいExampleクラスの範囲外にある場合は動作します。 – camomileCase

+3

$ appleが公開されている場合。 – camomileCase

+0

Chrisに感謝します。 self ::私の静的変数として宣言することに加えて、私が探していたものでした:) – justinl

2

を、 しかしときクラスメソッドが呼び出されると、 いくつかの静的定数 の変数を初期化する必要があります。 を異なるクラス間で共有する必要があります。 メソッド。

"例:: $リンゴ= '赤';" この

class ClassName { 
    static $var; 

    function functionName() { 
    echo self::$var = 1; 
    } 
} 

ClassName::functionName(); 
+0

ありがとうレモン!これも私が探していたものです。 – justinl

関連する問題