2015-06-21 131 views
0

我已經通過查看類似於PHP食譜的代碼來編寫此代碼。我在執行和理解方面遇到了一些麻煩,並且效果不佳。希望可以有人幫幫我。聚合對象,需要幫助/解釋

<?php 
 

 
class example { 
 
//protected $a; 
 
//protected $c; 
 

 
public function NumberInput($number){ 
 
\t $this->a = $number; 
 
\t \t \t } 
 

 

 
public function NumberOutput(){ 
 
\t \t return $this->a; 
 
\t \t \t } 
 
} 
 

 

 
class example2 { 
 

 
\t public function __construct(){ 
 
\t 
 
\t \t $this->mergingclass = new example; 
 
\t \t } 
 

 
\t public function numberInput2($number){ 
 
\t $this->c = $number; 
 
\t \t \t \t } 
 

 
\t public function NumberOutput2(){ 
 
\t \t return $this->c; 
 
\t \t } 
 

 
    public function __call($method,$arguments){ 
 
    \t echo "called methos is $method <br> "; 
 
    \t \t ; 
 
    \t return $this->x = $arguments; 
 
\t \t } \t  \t 
 
    \t 
 
    \t 
 

 

 

 
} 
 

 

 
$b = new example2; 
 
$b->NumberInput(7); 
 
echo $b->NumberOutput(); 
 

 

 
?>

所以我的問題是:

  1. 爲什麼我甚至需要__construct功能?代碼在有或沒有它的情況下都很激動。或者至少我無法用我的新手能力發現差異。如果我理解正確,它應該彙總對象,但是當我將它放在註釋中時,沒有任何變化。

  2. 當我執行這個編號爲7的代碼時,我得到「Array」。我想數字7是在那個數組中,所以我怎麼回聲呢?

在此先感謝。

+0

所以'__construct'功能做「某物」起初,當對象被創建(就像初始化的對象),並使用/訪問成員變量第一它們必須是宣佈 –

回答

0

首先,__construct就像PHP中的一種神奇方法,它可以在課堂外創建一個對象。每次你寫這樣的東西時:$myObject = new Object(); Object類的構造函數默認被調用,它創建由$ myObject變量引用的對象。所以如果沒有這個方法,你將無法正確使用類和創建對象。

使用print_r($array)var_dump($array)看陣列結構