Kā varētu pārbaudīt, vai objektam pieder metode? public function storeMethod($name, $method)
{
if ($this->methods[$name] = $method)
{
return true;
}
else
{
return false;
}
}
public function isStored($name)
{
if (isset($this->methods[$name]))
{
return true;
}
else
{
return false;
}
}
public function getMethod($name)
{
if ($this->isStored($name))
{
return $this->methods[$name];
}
else
{
return false;
}
}
Lādējot moduļus: $module = new $moduleInfo['class'](false);
$this->storeMethod($moduleName, $module);
return true;
Tālāk, visas vajadzīgās moduļa funckijas var izsaukt ar $this->modules()->getMethod('ielādētā_moduļa_nosaukums')->funckija/metode/whatever()
, un ja konkrētā metode eksistē, viss kārtībā, ja nē, fatāls. method_exists($this->modules()->getMethod('ielādētā_moduļa_nosaukums')->funckija/metode/whatever())
un function_exists($this->modules()->getMethod('ielādētā_moduļa_nosaukums')->funckija/metode/whatever())
nestrādā.
var_dump($this->modules()->getMethod('ielādētā_moduļa_nosaukums'))
izspļauj tikai definētos moduļa mainīgos, par funkcijām pīle netiek dota.