/** * @return Nano_Migrate_ScriptEmpty */ public static function instance() { if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }
public function load() { $queries = $this->path . '/queries.php'; $script = $this->path . '/script.php'; if (file_exists($queries)) { $sql = null; include $queries; if (is_array($sql)) { $this->queries = $sql; } } if (file_exists($script)) { include_once $script; $suffix = str_replace('-', '_', baseName($this->path)); $class = 'Nano_Migrate_Script_' . $suffix; if (class_exists($class, false)) { $reflection = new ReflectionClass($class); if ($reflection->isInstantiable() && $reflection->isSubclassOf('Nano_Migrate_Script')) { $this->script = $reflection->newInstance(); } else { $this->script = Nano_Migrate_ScriptEmpty::instance(); } } else { $this->script = Nano_Migrate_ScriptEmpty::instance(); } } else { $this->script = Nano_Migrate_ScriptEmpty::instance(); } }