49 lines
886 B
PHP
49 lines
886 B
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace PhpMyAdmin\Database;
|
||
|
|
||
|
use PhpMyAdmin\ListDatabase;
|
||
|
|
||
|
class DatabaseList
|
||
|
{
|
||
|
/**
|
||
|
* Holds database list
|
||
|
*
|
||
|
* @var ListDatabase
|
||
|
*/
|
||
|
protected $databases = null;
|
||
|
|
||
|
/**
|
||
|
* magic access to protected/inaccessible members/properties
|
||
|
*
|
||
|
* @see https://www.php.net/language.oop5.overloading
|
||
|
*
|
||
|
* @param string $param parameter name
|
||
|
*
|
||
|
* @return mixed
|
||
|
*/
|
||
|
public function __get($param)
|
||
|
{
|
||
|
switch ($param) {
|
||
|
case 'databases':
|
||
|
return $this->getDatabaseList();
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Accessor to PMA::$databases
|
||
|
*/
|
||
|
public function getDatabaseList(): ListDatabase
|
||
|
{
|
||
|
if ($this->databases === null) {
|
||
|
$this->databases = new ListDatabase();
|
||
|
}
|
||
|
|
||
|
return $this->databases;
|
||
|
}
|
||
|
}
|