2011-11-07 22 views
7

मैं PHP में ओओपी सीखने के चरण में हूं और मैं जानना चाहता हूं कि किसी अन्य PHP वर्ग से चर को कैसे कॉल करें।किसी अन्य वर्ग से एक चर को कॉल करना PHP

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

class first { 
    public $var1 = 1; 
} 

मुझे लगता है कि यह इस तरह से है, लेकिन मैं जारी रखने के लिए पता नहीं कैसे:

$ पहली = नई $ पहले();

उत्तर

14

आप कुछ इस तरह करना चाहिए:

$first = new first(); 
echo $first->var1; 
+0

@xdazz धन्यवाद! <3 – FBwall

2

आप इसे इस तरह कॉल करने की आवश्यकता:

$first = new first(); 
$first->var1; 
0

आप वर्ग का एक उदाहरण बनाने की आवश्यकता होगी:

$instance=new first(); 

और फिर आप उस आवृत्ति से चर का उपयोग कर सकते हैं:

$var=$instance->var1; 

नोट - कक्षा का नाम देने से पहले कोई $ $ नहीं है जब आप इसका उदाहरण बनाते हैं।

1

बेहतर तरीका के लिए इस तरह करते हैं:

class first { 
    private $var1 = 1; 
    function getVar(){ 
     return $this->var1; 
    } 

    function setVar($value){ 
     $this->var1 = $value; 
    } 
} 

या इस तरह:

class first { 
    private $var1 = 1; 
    function __get(){ 
     return $this->var1; 
    } 

    function __set($key,$value){ 
     $this->$key = $value; 
    } 
} 

इस मामले में आप कुछ अपवाद हैंडलिंग कोशिश कर सकते हैं।

मैनुअल: http://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members

+0

गेटर और सेटर फ़ंक्शंस का उपयोग करना बेहतर ओओपी डिज़ाइन है, क्योंकि यह बाहरी पहुंच से आंतरिक प्रतिनिधित्व को दूर करता है। उदाहरण के लिए, यदि आपने var1 पर निर्भर कोड बहुत लिखा है, लेकिन बाद में परिवर्तनीय नाम को किसी अन्य चीज़ में बदलने का निर्णय लिया है, तो सभी बाहरी कोड तोड़ देंगे। –

+0

यह एक सवाल है कि आप मूल्य को कैसे सुलभ बनाना चाहते हैं (उदा। पढ़ना/लिखना) और यदि आप कक्षा को मूल्य को बदलने की अनुमति देना चाहते हैं। यह बेहतर नहीं है, साथ ही http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html देखें जो एक उत्तेजक शीर्षक है लेकिन बहुत सारे फैसले हैं जो खेलते हैं भूमिका। – hakre

0
<?php 

class Myname 
{ 
    public static $name='Your First Name'; 
} 
class Mylast 
{ 
    public static $last='Your Last Name'; 
} 
class Fullname 
{ 

    public static function staticValue() { 
     return Myname::$name."--".Mylast::$last; 
    } 
} 

print Fullname::staticValue() . "\n"; 
?> 
संबंधित मुद्दे