Come echo variabile dalla function di class all'altro file

Sono solo un principiante con OOP PHP. Quello che voglio succedere è di echo la variabile dalla class all'interno della function in un altro file. Si prega di dare un'occhiata a questo codice:

nel file 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"]; } } } 

e nel file index.php :

 include("class.library.php"); $data = new db_connect; $data->settings(); 

quello che voglio succedere è semplicemente di echo la variabile chiamata $name dalla function settings() della class chiamata db_connect al file index.php .

Ho provato qualcosa di simile a questo:

 include("class.library.php"); $data = new db_connect; $data->settings(); echo $name; // I tried this but didn't work, I put this just to make things more clearly. 

Per favore dimmi il modo corretto di farlo.

PS: scusa per quali termini ho usato per spiegare il mio problema. Sono solo un principiante. Sei sempre il benvenuto a correggermi.

Devi impostare $name come var public nella tua class. Come questo:

 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"]; } } } 

Quindi dovresti essere in grado di accedere alla tua var in questo modo in index.php :

 $data = new db_connect; $data->settings(); echo $data->name; 

Puoi leggere questo per saperne di più su vars e visibilità delle funzioni Php doc

Il problema è che non stai restituendo nulla dal metodo settings() . Restituisce l'integer set di risultati dal metodo settings() e passa attraverso di esso, in questo modo:

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 />"; } 
 <?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); ?>