makeDirectory($dir, 0755, true); } if (is_file($path)) { return; } $content = $files->get($this->stub()); $files->put($path, str_replace([ '{namespace}', '{class}', '{model}', ], [ $this->getNamespace($repositoryClass), class_basename($repositoryClass), $modelClass, ], $content)); $files->chmod($path, 0777); return $path; } protected function getNamespace($name) { return trim(implode('\\', array_slice(explode('\\', $name), 0, -1)), '\\'); } protected function stub() { return __DIR__.'/stubs/repository.stub'; } }