PHP

2009-10-07 7 views
9

में स्थिर स्थिर सदस्य चर का संदर्भ कैसे लें मेरे पास सदस्य चर के साथ एक वर्ग है। क्लास को एक स्थिर संदर्भ से कॉल किया जा रहा है जब कक्षा के भीतर से सदस्य चर का उपयोग करने के लिए PHP में वाक्यविन्यास क्या है?PHP

असल में मैं एक क्लास विधि (लेकिन एक नई वस्तु नहीं बना सकता) को कॉल करना चाहता हूं, लेकिन जब क्लास विधि कहा जाता है, तो मुझे अलग-अलग स्थिर स्थिर चरों को शुरू करना होगा जिन्हें विभिन्न वर्गों के बीच साझा करने की आवश्यकता है तरीकों।

या यदि ऐसा करने का एक बेहतर तरीका है तो मैं जो प्रस्तावित कर रहा हूं, कृपया मेरे साथ साझा करें (मैं PHP में नया हूं) धन्यवाद!

उदाहरण के लिए।

 
class example 
{ 
    var $apple; 

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

} 

उत्तर

16

संक्षिप्तता खातिर मैं केवल php 5 संस्करण पेश करेगा:

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

    // Private static member 
    private static $apple; 

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

"उदाहरण :: $ सेब = 'red'," काम करता है यदि आप उदाहरण वर्ग के दायरे से बाहर हैं। – camomileCase

+3

यदि $ सेब सार्वजनिक है। – camomileCase

+0

धन्यवाद क्रिस। स्वयं :: वैरिएबल को एक निजी स्थिर के रूप में घोषित करने के अलावा मैं जो खोज रहा था :) – justinl

2

असल में मैं एक वर्ग विधि कॉल करने के (लेकिन एक नई वस्तु नहीं बना) चाहते हैं, लेकिन जब क्लास विधि कहा जाता है, मैं कुछ स्थिर स्थिरवैरिएबल को शुरू करने के लिए वैरिएबल को को अलग-अलग वर्ग विधियों के बीच साझा करने की आवश्यकता है।

प्रयास करें इस

class ClassName { 
    static $var; 

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

ClassName::functionName(); 
+0

धन्यवाद नींबू! यह वही है जो मैं ढूंढ रहा था। – justinl

संबंधित मुद्दे