path = $path; $this->name = $name = pathinfo($path, PATHINFO_FILENAME); $dateTime = substr($name, 0, 17); $dateTime = str_replace('_', '', substr($dateTime, 0, 9)) . substr($dateTime, -8); $classParts = explode('_', substr($name, 18)); $className = ''; foreach($classParts as $part) $className .= ucfirst($part); $this->className = $className . '_' . $dateTime; } public function getName(): string { return $this->name; } public function getClassName(): string { return $this->className; } public function migrate(IDbConnection $conn): void { require_once $this->path; (new $this->className)->migrate($conn); } }