从另一个文件访问存储在类中的变量

时间:2013-08-30 18:47:41

标签: php pdo

我想从外部文件访问下面方法中的$ new_id变量(来自公共类youth_teams),但我无法弄清楚如何。我让它从包含该方法的文件中正确打印lastInsertID,但也希望能够访问其他文件中的变量。

public function addTeam(
    $team_name,
    &$error
) {
$query = $this->pdo->prepare('INSERT INTO `' . $this->table . '` (
    `team_name`
) VALUES (
    :team_name
)');
    $query->bindParam(':team_name', $team_name);
    $query->execute();

    print_r($query->errorInfo());
    print $this->pdo->lastInsertID();
    $new_id = $this->pdo->lastInsertID();
    return $new_id;                             
}

这是我从OTHER FILE尝试过的代码:

sw::shared()->youth_teams->addTeam (
    $team_name,
    $error
);  

$temp_two = sw::shared()->youth_teams->addTeam->pdo->lastInsertID();
echo "new id: " . $temp_two . "<br>";

当然这不起作用...访问$ new_id的正确途径是什么?

2 个答案:

答案 0 :(得分:1)

应该是:

$temp_two = sw::shared()->youth_teams->addTeam($team, $error);

addTeam()是一个返回$new_id的函数,因此您需要使用()调用它。

如果您真的希望能够直接访问$new_id,可以将其声明为全局:

public function addTeam(
    $team_name,
    &$error
) {
    global $new_id;
    ...

答案 1 :(得分:0)

这有什么问题?

$sw = new sw();

$temp_two = $sw->addTeam( $team, $error );

echo "new id: " . $temp_two . "<br>";

如果您可以从外部文件中调用sw::shared(),则可以指定对象。

我可能不完全理解您的代码,如果没有,请完整解释以下内容:

sw::shared()->youth_teams->addTeam( $team, $error );

// 1. What does the shared() method do?
// 2. What is the youth_teams property?

如果需要,我可以建议将作业直接添加到addTeam()函数中,并使用上述格式仅返回id。