php 调用 属性,PHP,在类属性上调用静态方法

标签:php

我希望将对象存储为类的属性.然后,我希望能够通过直接引用该属性在该类上调用静态方法.

考虑以下:

class myModel {

public static function all()

{

return 1;

}

}

class myClass {

public $models;

public function __construct()

{

$this->models->myModel = new myModel;

$results = $this->models->myModel::all();

}

}

$result = new myClass;

PHP在$results = $this-> models-> myModel :: all();上失败

如果我通过将class属性分配给局部变量来进行修改,那么事情将按预期进行:

$myModel = $this->models->myModel;

$results = $myModel::all();

我想消除将class属性分配给局部变量的需要.

在PHP 5.3.x(我正在使用的版本)中还是在更高版本中是否可能?

解决方案应易于阅读,并且不应混淆代码的目的.

为了清楚起见,这是对工作代码的极大简化.在我发布的示例代码中,并没有将对象存储在类属性中的好处.

解决方法:

语法将给您的错误是:

Parse error: syntax error, unexpected ‘::’ (T_PAAMAYIM_NEKUDOTAYIM)

但是由于Uniform Variable Syntax RFC,它可以在PHP 7中使用.所有以前的版本都需要中间变量.

标签:php

来源: https://codeday.me/bug/20191013/1908523.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值