Как создать свойство Dynami c в классе и вызвать его в PHP - PullRequest
1 голос
/ 04 февраля 2020

У меня есть класс, в котором я хочу создать динамическое c свойство (или динамическую c переменную) для сбора списка таблиц из базы данных. Вот код


include_once($base_dir.'./config/index.php');

class TableList{
        private $con;
        public $Tables_in_sample;

        public function __construct($con){
            $this->conn = $conn;

        }


  public function ListTables(){
    $query ="SHOW TABLES";

    $stmt = $this->connection->prepare($query);

    $stmt->execute();

    return $stmt;
  }

Я назвал его

include_once($base_dir.'./config/index.php');
include_once('./tablelist.php');

$dbclass = new DBClass();
$conn = $dbclass->getConnection();

$post = new TableList($conn);

$stmt = $post->ListTables();
$count = $stmt->rowCount();



if($count > 0){

   echo "<html><body><ul>";
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){

        extract($row);

        echo  = "<li>".$post->Tables_in_jsonapi."</li>";

    }

    echo "</ul></body></html>";


}

Здесь я получил список таблиц для образца БД. Но мне нужно получить свойство динамически что-то вроде этого

       public  $Tables_in_sample;

до

      public $Tables_in_.$this->dbname;

и собрать в

echo "<html><body><ul>";
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){

        extract($row);

        echo  = "<li>".$post->Tables_in_sample."</li>"; //here 

    }

1 Ответ

1 голос
/ 04 февраля 2020

Вам не нужны динамические c свойства, вам не нужны extract(), вам не нужен класс TableList.

$result = $pdo->query('SHOW TABLES')->fetchAll(\PDO::FETCH_COLUMN);
echo "<html><body><ul>";
foreach ($result as $table) {
    echo '<li>' . $table . '</li>';
}
echo "</ul></body></html>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...