Как создать мастер-класс, через который я могу получить доступ к методам других классов, как в следующем примере
Классы
class DB()
{
function execute($q)
{
// execute
return $result;
}
function get_rows($q)
{
// do some stuff
return $result;
}
}
class Util()
{
function read_file($f)
{
// execute
return $result;
}
function save_to_file($d, $f)
{
// do some stuff
return $result;
}
}
выполнение
$master = new master();
$q = "SELECT.....";
$content = $master->DB->get_rows($q);
// do some stuff
$f = time();
$result = $master->Util->save_to_file($content, $f);
благодаря @Pierre я пришел к следующему
class DB()
{
function execute($q)
{
// execute
return $result;
}
function get_rows($q)
{
// do some stuff
return $result;
}
}
class Util()
{
function read_file($f)
{
// execute
return $result;
}
function save_to_file($d, $f)
{
// do some stuff
return $result;
}
}
class master
{
public $db;
public $util;
function __construct()
{
$this->db = new DB();
$this->util = new Util();
}
}
так что теперь я могу получить доступ ко всем методам класса через одну оболочку:
$m = new master();
$q = "SELECT ....";
$rows = $m->db->get_rows($q)
$m->util->save_to_file($rows, "file.txt");
Других решений пока нет …