我只是OOP PHP的初学者。我想要发生的是将函数内部的变量回显到其他文件。请看一下这段代码:
<{1>}文件中的:
class.library.php
并在class db_connect {
// Other functions and variables here
function settings() {
$sql="SELECT * FROM lms_admin_settings";
$result = $this->conn->query($sql);
while($data = $result->fetch_assoc()) {
$name = $data["name"];
}
}
}
档案中:
index.php
我想要发生的是简单地将名为include("class.library.php");
$data = new db_connect;
$data->settings();
的变量从名为$name
的类的settings()
函数回显到db_connect
文件。
我试过这样的事情:
index.php
请告诉我正确的方法。
PS:请原谅我用来解释我的问题的条款。我只是个初学者。我们随时欢迎您纠正我。答案 0 :(得分:1)
问题是,您没有从settings()
方法返回任何内容。从settings()
方法返回整个结果集并循环遍历它,如下所示:
<强> class.library.php 强>
class db_connect {
// Other functions and variables here
function settings() {
$sql="SELECT * FROM lms_admin_settings";
$result = $this->conn->query($sql);
return $result;
}
}
<强>的index.php 强>
include("class.library.php");
$data = new db_connect;
// catch the result set
$result = $data->settings();
// loop through the result set
while($data = $result->fetch_assoc()) {
// display
echo $data['name'] . "<br />";
}
答案 1 :(得分:0)
您需要将$name
设置为您班级的公共变量。
像这样:
class db_connect {
// We declare a public var
public $name = "";
function settings() {
$sql="SELECT * FROM lms_admin_settings";
$result = $this->conn->query($sql);
while($data = $result->fetch_assoc()) {
$this->name = $data["name"];
}
}
}
然后您应该能够在index.php
中访问您的var:
$data = new db_connect;
$data->settings();
echo $data->name;
您可以阅读此内容以了解有关变量和函数可见性的更多信息 Php doc
答案 2 :(得分:0)
<?php
class db_connect {
// Other functions and variables here
public $name;
function settings() {
$sql="SELECT * FROM lms_admin_settings";
$result = $this->conn->query($sql);
while($data = $result->fetch_assoc()) {
$this->name = $data["name"];
}
}
}
//index.php
include("class.library.php");
$data = new db_connect;
$data->settings();
echo($data->name);
?>