gpt4 book ai didi

php - 如何设置和使用 protected 静态属性?

转载 作者:行者123 更新时间:2023-12-02 00:58:16 24 4
gpt4 key购买 nike

这是我必须使用的抽象类;

abstract class Model
{
protected static $_tableName = false;

public static function tableName()
{
return static::$_tableName;
}

public static function find($idOrWhere = false, $params = array(), $limit = false)
{
$sql = "SELECT * FROM " . static::tableName();

我似乎无法在我自己的类中设置 _tableName、static::tableName() 或 tableName();

class Payments extends Model {

public function __construct()
{
$this->_tableName = 'payments';
}

那什么都没做!它没有将 tableName 设置为 payments。而且我也不知道如何使用 tableName() 方法。

最佳答案

您正在尝试以非静态方式访问 _tableName(即 $this->_tablename),即使您已将其声明为静态。

您需要像这样访问它:

self::$_tableName

或者,对于 late static binding :

static::$_tableName

总的来说,您应该尽可能避免使用静态类,主要是出于测试目的。

关于php - 如何设置和使用 protected 静态属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com