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(有参数)} 展开
 我来答
运纵j4
2012-01-16 · TA获得超过621个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:52.8万
展开全部
__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()是析构函数?
追答
那你觉得他是什么
tingfeng85
2012-01-16 · TA获得超过627个赞
知道小有建树答主
回答量:1146
采纳率:0%
帮助的人:958万
展开全部
PHP 5.3.0-5.3.2 可以用类名来做构造方法名。
PHP 5.3.3之后就不支持类名做构造方法了。
追问
就是说类中的方法名与类名一样的话 ,这个方法它,实际上跟类中的方法名与类名不一样的普通方法是一样的??与构造函数无关?
追答
原则是如此的。
但是我没有做过例子,验证真理的方法是去亲自尝试一下,呵呵。

刚才亲自验证了一下,如果不加namespace的话,类名可以作为构造函数。
加了namespace之后,类名就不可以作为构造函数了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宇宙大师之一
2015-10-22 · TA获得超过3477个赞
知道小有建树答主
回答量:2271
采纳率:52%
帮助的人:721万
展开全部
在PHP5以前的版本中,构造函数的名称必须与类名相同,这种方法在PHP5中仍然可以使用,但现在已经很少有人用了。
PHP5以及之后的版本,构造函数用__construct()方法来声明,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数名称了。
为了向下兼容,如果一个类中没有名为__construct( )的方法,PHP将搜索一个与类名相同名的构造方法。
如果__construct( )的方法、与类名相同名的构造方法同时存在的话,优先使用__construct( )的方法。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式