【PHP】初始化是一定要用类的同名函数做构造函数吗?

我写了一段代码如下:
class table{
public $x;
function weishu(){
$this->x=9;
}
function print_table(){
for($i=1;$i<=$this->x;$i++){
for($j=1;$j<=$i;$j++){
echo $j."*".$i." ";
}
echo "<br>";
}
}
}

$table1=new table;
$table1->print_table();
在初始化$x是我用的是function weishu(),结果就没用,改成function table()就可以了,为甚么?

PHP中类的初始化有两种方式,一种是像你所说的同名函数做构造函数,另外一种则是定义__construct()(前面两个下划线_)做构造函数,这两者除了函数名称不一样外,其它没什么区别,都是用来初始化类的。但建议用后者,原因是如果使用了同名函数做构造函数,当类名发生改变,相应的构造函数名也要改变。而__construct被默认作为当前类的构造函数
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-03
你这个是兼容写法,如果按照最新写法,可以不用。
你只需要把初始化的那个函数的名字写成
php4是这样的
php5也可以这样,但是多了一种方法,就是写一个名叫__construct代码
第2个回答  2011-05-03
楼上正解 这种带下划线的函数php成为魔术方法 有很多种 值得研究~

【PHP】初始化是一定要用类的同名函数做构造函数吗?
PHP中类的初始化有两种方式,一种是像你所说的同名函数做构造函数,另外一种则是定义__construct()(前面两个下划线_)做构造函数,这两者除了函数名称不一样外,其它没什么区别,都是用来初始化类的。但建议用后者,原因是如果使用了同名函数做构造函数,当类名发生改变,相应的构造函数名也要改变。...

关于php构造函数
用于类的初始化,在新建一个对象时被立即执行,既 new base();此时会执行__construct()this是指类(实例)自身

php 构造函数格式,具体该怎么写?应该注意什么呢?
在PHP里,如果你没有手写构造函数,则php在实例化这个对象的时候,会自动为类成员以及类方法进行初始化,分配内存等工作,但是有些时候不能满足我们的要求,比如我们要在对象实例化的时候传递参数,那么就需要手动编写构造函数了,手写构造函数有两种写法,只是表现形式不同,其实本质一样 class test { fun...

PHP 类的构造函数基础-构造函数语法与特点解析
PHP类的构造函数是初始化对象时自动调用的特殊函数,具备以下特点:1. 每个类仅有一个构造函数,默认名称为__construct,用于在实例化类时初始化对象属性。2. 构造函数在创建对象时被自动调用,无需显式调用。3. 可以通过构造函数接收参数,用于初始化对象属性。例如:class person { public $name;publi...

什么叫构造函数
1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同.2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,...

求救PHP高手
* 抽象类 * __call * __set 和 __get * 静态成员 构造函数和析构函数 在PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。 在PHP5 中,构造函数被统一命名为 __construct,并且引入了析构函数的概念,被统一命名为 __destruct。 例一:构造函数和析构...

THINKPHP里面的_initialize初始化接口有什么意思?
就是构造函数,你运行程序的时候,就运行_initialize这个方法,简单的理解为初始化函数。可以到这里看一下关于tp的一些文章:http:\/\/www.zoneself.org 参考资料:http:\/\/www.zoneself.org

PHP中面向对象中的构造函数的作用是什么,为什么需要它。
构造函数不是必须的,当一个类被实例化的时候构造函数(如果有)会被调用,它具体做什么视需求而定。 例如,为边长为4的正方形声明一个类,那么它可能不需要构造函数,如 class demo { protected length = 4;} 而为正方形声明一个类的时候,那么它需要构造函数来指定正方形实例的边长,如 class...

php new是什么意思
其中“对象名”表示要创建的对象的名称,可以自定义,而“类名”则是要创建对象的类名。实际使用过程中,我们也可以传递参数给构造函数,以便对新实例进行初始化。php new的相关注意事项 在使用“PHP new”时,需要注意以下几点:1)类名应该与创建的对象的类型一致,否则会出现错误;2)创建出的新对象...

php:构造函数可以返回值吗
构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.构造函数都是用于初始化数据的 数据只能进不能出 靠,这种问题还要问,实在不懂写个测试例子看看不就完 想在构造函数中得到或返回一些值是不行的,不过写一个与类名同名的函数可以实现此目地。123456789101112...

相似回答