我正在尝试编写一个处理表单/数据库连接的类。
我的计划是让每个模型类扩展一个具有基本crud功能的底层类。
我将表名和主键名存储在静态常量PK &表。
问题是我不能访问主键名称与以下不产生'Paamayim Nekudotayim'错误。
$this->static::PK
我可以这样做:
$pk = static::PK
$this->$pk
我甚至可以这样做:
$this->fields[static::PK]
,
$this->static::PK
似乎不工作
有任何想法、评论等,非常欢迎。
我猜这个结构是模糊的,解释器不知道该怎么处理它,因此解析错误。换句话说,它不知道你是不是这个意思:
$s = $this->static;
$s::PK;
或:
$pk = static::PK;
$this->$pk;
两者都是有效的,但是工作方式非常不同(你可以想象)。
将常量访问用花括号括起来就可以了:
$this->{static::PK}