2

我被这段代码卡住了。我试图调用我的静态表变量,但我不能。

我认为我有一个非常简单的问题,但是.. 对我的项目有效且有害。

我的课:

<?php

public $table;

class Functions
{
    public function ehe()
    {
        return $table[4];
    }
}

?>

我的 system.php 文件:

    $fn = new Functions();

    /* static tables */
    $table  = array(
                    0 => 'account.account',
                    1 => 'player.player',
                    2 => 'auction_house.items',
                    3 => 'auction_house.admin',
                    4 => 'auction_house.store',
                    5 => 'auction_house.styles',
                    6 => 'auction_house.logs',
                    7 => 'auction_house.coupons',
                    );

我的索引文件(示例):(与 system.php 和类连接)

echo $fn->ehe;

我的错误:

Notice: Undefined property: Functions::$ehe in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\.......php on line 178

一点第二个问题:我也有两节课。1:函数类。(包括查询处理等) 2:MySQL 连接类。我想连接这两个类进行查询。这怎么可能?..

4

2 回答 2

1

你需要调用它,它是一个函数,而不是一个属性。

echo $fn->ehe();
于 2013-09-21T21:41:59.610 回答
0

您的代码有几个问题:

  • 您正在访问ehe,就好像它是一个属性而不是一个方法。方法调用总是有(),如有必要,其中包含参数。
  • 您无法在全局范围内修改变量的可见性 - 您public $table;将导致语法错误。
  • $table超出了您的ehe()方法的范围。

您可能会使用以下global关键字:

$table;

class Functions {
    public function ehe() {
        global $table;
        return $table[4];
    }
}

$fn = new Functions();

/* static tables */
$table = array(
            0 => 'account.account',
            1 => 'player.player',
            2 => 'auction_house.items',
            3 => 'auction_house.admin',
            4 => 'auction_house.store',
            5 => 'auction_house.styles',
            6 => 'auction_house.logs',
            7 => 'auction_house.coupons',
        );

echo $fn->ehe(); // auction_house.store
于 2013-09-21T21:42:38.870 回答