跳到主要内容
PHP

php构造函数的继承方法

管

管理员

PHP

2019年09月10日 1,584 次阅读
本页目录

构造函数不支持支持继承,而是被调用(其他语言大概都一样(java,dart,ts等),很多人说能继承本人不这样认为...)

实际上是自己自动添加一个自己的构造方法,然后调用父类
比如:

 

<?php
class Test{
    protected function __construct() {
    }
}

class Test2 extends Test{}

$a= new Test2();  //报错
其实相当于子类默认添加一个为以下结构的构造函数:
 
class Test2 extends Test{
    protected function __construct() {
        parent::__construct();
    }
}

证明不能被继承的例子:
<?php
class Test{
    protected function __construct($a) {
    }
}

class Test2 extends Test{
    public function __construct($a,$b) {
        
    }
}

$a= new Test2(123,123);
如果construct能继承的话,那么根据继承的特性,函数声明必须与 父类相同,但是以上代码可以正常运行
 

Related

相关文章

同分类文章 →
2026年07月11日 PHP

laravel什么样的方法适合放在模型中?什么适合用专门的服务类? cachedFavIds适合放在模型中吗?

一、适合放在模型中的方法Laravel 采用 ActiveRecord 风格,模型本身就是&quot;数据 + 围绕该数据的操作&quot;的载体。以下几类方法适合放模型: 关联关系:belongsTo、morphTo、hasMany 等。如 UserFav::userfavable()、UserFav::us

2026年04月13日 PHP

Vue3 静态文件放在同域名 Laravel 项目下

核心思路是:Vue3 构建后的静态文件放到 Laravel 的 public/ 目录下,通过 Laravel 路由的 catch-all 机制让 SPA 的前端路由正常工作。方案说明以 xx.com/admin 为例,整体架构如下:请求流程:xx.com/admin/* → Laravel

2025年08月18日 PHP

Laravel Eloquent 中可以通过静态方式调用的方法

在 Laravel Eloquent 中,可以通过静态方式调用的方法包括:1. 查询作用域 (Scopes)// 可以静态调用UserComment::active()-&gt;get();UserComment::where(&#039;status&#039;, 1)-&gt;first();2. Eloquent 内置的查询方法UserComment::fi

WeChat

扫码加我微信

微信二维码