php - 如何避免将连接变量作为类中的函数参数传递?
问题描述
我对 OOPS PHP 相当陌生,而且我似乎在处理基本问题时遇到了麻烦。
我试图在构造函数中设置 $connection 变量,然后在整个类中使用该变量,而不必将其作为参数显式传递给每个函数。
如果我将 $connection 参数作为参数传递给后面的函数,脚本将按预期工作,但似乎 $connection 变量在整个类中不可用,因为我认为它应该是......我明白了如果我不通过它,则会出现“未定义的变量:连接”错误。
任何帮助,将不胜感激。谢谢!
class ClsVREQDataAccess
{
protected $connection;
public function __construct() {
$connection = $this->ConnectToLNSODB();
$this->InitializeNewVREQ($connection);
}
public function InitializeNewVREQ($connection) {
... Do stuff to set up query ...
$rst = $connection->prepare($strSQL);
$rst->execute($params);
... Do other stuff ...
}
... more functions, incl the above referred-to ones ...
解决方案
您应该使用$this->connection
任何地方来引用您在构造函数中分配的对象属性。
class ClsVREQDataAccess
{
protected $connection;
public function __construct() {
$this->connection = $this->ConnectToLNSODB();
$this->InitializeNewVREQ();
}
public function InitializeNewVREQ() {
... Do stuff to set up query ...
$rst = $this->connection->prepare($strSQL);
$rst->execute($params);
... Do other stuff ...
}
推荐阅读
- c++ - OpenFOAM 简单 blockMesh 浮点异常
- javascript - 如何在 js 数组映射中声明 typescript 类型?
- mongodb - 对 mongodb 集合中的字段进行字符串操作(聚合和正则表达式)
- clion - 重命名期间 CLion 会搜索系统#include 吗?
- python - 在 pandas 数据框中标记自定义 NER
- javascript - 如何使用javascript仅将字符串中的第一个字母大写?
- android - 如何在 Android 12 中禁用多窗口?
- reactjs - npm 运行构建错误,无法在 next.js 中运行构建命令
- android - 在我推出我的 android 应用程序后,我得到了草稿状态
- django - 保存在表单部分的下拉依赖问题