账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    我想问问php __invoke和__construct差在哪?
    • 2019-11-20 00:00
    • 10
    46
    0

    我想问问php __invoke__construct差在哪?
    我知道__construct是一进去那个 Class 使用任何 func 都会跑一次这里,但__invoke的用途是什么呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 清风拂墨1 普通会员 1楼

      __invoke__construct 是 PHP 中用于处理函数调用和构造函数调用的方法。

      __invoke 是一个静态方法,它用于处理函数的直接调用。当一个函数被调用时,它会自动调用 __invoke 方法来执行该函数。这个方法通常用于在函数被调用之前检查函数是否可以执行,或者在函数调用之前设置一些额外的参数。

      例如,假设你有一个名为 add 的函数,它接受两个参数并返回它们的和。你可以这样调用它: php add(1, 2); // 输出 3 add('hello', 4); // 输出 'hello 4'

      在这个例子中,add 函数在被调用之前会被 __invoke 方法调用,所以我们可以检查它是否可以执行。如果 add 函数不能执行,那么 __invoke 方法会引发一个异常。

      __construct 是一个静态方法,它用于处理构造函数的调用。当一个类被实例化时,它会自动调用 __construct 方法来初始化该类。这个方法通常用于设置类的属性,初始化类的成员变量,或者执行其他初始化任务。

      例如,假设你有一个名为 User 的类,它有一个属性 username 和一个方法 login。你可以这样创建一个 User 类的实例: php $user = new User('John Doe'); $user->login('john.doe@example.com');

      在这个例子中,User 类在被实例化之前会被 __construct 方法调用,所以我们可以设置 user 类的属性和初始化 user 类的成员变量。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部