php - PHP中两种类型的类构造函数有什么区别?

标签 php class constructor

PHP 类在使用 __construct 构造函数和使用类名作为构造函数时到底有什么区别?

例如:

class Some
{
     public function __construct($id)
     {
           ....
     }
     ....
}

class Some
{
      public function Some($id)
      {
            ....
      }
      ....
}

最佳答案

顶部是从 5.0 版开始在 PHP 中完成的新方式,也是所有新代码的编写方式。后者是旧的 PHP 4 方式并且已过时。在某些时候,它将完全弃用并完全从 PHP 中删除。

更新

As of PHP 5.3.3 , 与命名空间类名的最后一个元素同名的方法将不再被视为构造函数。此更改不会影响非命名空间类。

<?php
namespace Foo;
class Bar {
    public function Bar() {
        // treated as constructor in PHP 5.3.0-5.3.2
        // treated as regular method as of PHP 5.3.3
    }
}
?>

关于php - PHP中两种类型的类构造函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10589001/

相关文章:

php - 使用 wp_get_recent_posts 检索另一台服务器上的不同数据库

php - 当 jquery 用于自动刷新时创建的附加 <div>

php - Elasticsearch多字段搜索端点

java - 使用构造函数将处理程序调用到另一个类的 Activity

c# - 最小起订量和构造函数 - 测试初始化​​行为

php - 如何在 PHP 中检查页面是直接加载还是从其他页面重定向?

python - 如何将数据从一个类传递给另一个函数(在 HTMLParser 中)?

javascript - 检查具有给定类的元素,未找到情况,将类添加到第一个元素

java - 调用java中的类并访问变量

构造函数中的 C++ 保护声明