2015-06-21 92 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)看阵列结构