PHP中类名与方法名一样是何意,与function __construct()如何区分
请参考这段代码方法save_reg()与__construct()两者意思__construct()我看得懂save_reg()也是构造函数???$obj=newsave...
请参考这段代码 方法save_reg()与__construct() 两者意思 __construct()我看得懂 save_reg()也是构造函数??? $obj=new savereg()是什么结果?new savereg()里面要加参数吗 class save_reg{function save_reg(没参数) function __construct(有参数)}
展开
展开全部
__construct()是析构函数,
而 class save_reg{function save_reg(没参数)
这种写法是php4的写法,过时了。
另外两种写法的结果是一样的,括号里面都可以传值。
学php必备php手册,像这个__construct()查手册就可以了,现在都抛弃了class save_reg{function save_reg(没参数) 这种写法,因为如果class名要是改变,里面的function名也必须跟着变,所以才会出现__construct().
参考资料:http://cn.php.net/__construct
而 class save_reg{function save_reg(没参数)
这种写法是php4的写法,过时了。
另外两种写法的结果是一样的,括号里面都可以传值。
学php必备php手册,像这个__construct()查手册就可以了,现在都抛弃了class save_reg{function save_reg(没参数) 这种写法,因为如果class名要是改变,里面的function名也必须跟着变,所以才会出现__construct().
参考资料:http://cn.php.net/__construct
更多追问追答
追问
__construct()是析构函数?
追答
那你觉得他是什么
展开全部
PHP 5.3.0-5.3.2 可以用类名来做构造方法名。
PHP 5.3.3之后就不支持类名做构造方法了。
PHP 5.3.3之后就不支持类名做构造方法了。
追问
就是说类中的方法名与类名一样的话 ,这个方法它,实际上跟类中的方法名与类名不一样的普通方法是一样的??与构造函数无关?
追答
原则是如此的。
但是我没有做过例子,验证真理的方法是去亲自尝试一下,呵呵。
刚才亲自验证了一下,如果不加namespace的话,类名可以作为构造函数。
加了namespace之后,类名就不可以作为构造函数了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在PHP5以前的版本中,构造函数的名称必须与类名相同,这种方法在PHP5中仍然可以使用,但现在已经很少有人用了。
PHP5以及之后的版本,构造函数用__construct()方法来声明,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数名称了。
为了向下兼容,如果一个类中没有名为__construct( )的方法,PHP将搜索一个与类名相同名的构造方法。
如果__construct( )的方法、与类名相同名的构造方法同时存在的话,优先使用__construct( )的方法。
PHP5以及之后的版本,构造函数用__construct()方法来声明,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数名称了。
为了向下兼容,如果一个类中没有名为__construct( )的方法,PHP将搜索一个与类名相同名的构造方法。
如果__construct( )的方法、与类名相同名的构造方法同时存在的话,优先使用__construct( )的方法。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询