ok
Direktori : /home2/selectio/www/3-idiots/vendor/nwidart/laravel-modules/src/Generators/ |
Current File : /home2/selectio/www/3-idiots/vendor/nwidart/laravel-modules/src/Generators/FileGenerator.php |
<?php namespace Nwidart\Modules\Generators; use Illuminate\Filesystem\Filesystem; use Nwidart\Modules\Exceptions\FileAlreadyExistException; class FileGenerator extends Generator { /** * The path wil be used. * * @var string */ protected $path; /** * The contens will be used. * * @var string */ protected $contents; /** * The laravel filesystem or null. * * @var \Illuminate\Filesystem\Filesystem|null */ protected $filesystem; /** * @var bool */ private $overwriteFile; /** * The constructor. * * @param $path * @param $contents * @param null $filesystem */ public function __construct($path, $contents, $filesystem = null) { $this->path = $path; $this->contents = $contents; $this->filesystem = $filesystem ?: new Filesystem(); } /** * Get contents. * * @return mixed */ public function getContents() { return $this->contents; } /** * Set contents. * * @param mixed $contents * * @return $this */ public function setContents($contents) { $this->contents = $contents; return $this; } /** * Get filesystem. * * @return mixed */ public function getFilesystem() { return $this->filesystem; } /** * Set filesystem. * * @param Filesystem $filesystem * * @return $this */ public function setFilesystem(Filesystem $filesystem) { $this->filesystem = $filesystem; return $this; } /** * Get path. * * @return mixed */ public function getPath() { return $this->path; } /** * Set path. * * @param mixed $path * * @return $this */ public function setPath($path) { $this->path = $path; return $this; } public function withFileOverwrite(bool $overwrite): FileGenerator { $this->overwriteFile = $overwrite; return $this; } /** * Generate the file. */ public function generate() { $path = $this->getPath(); if (!$this->filesystem->exists($path)) { return $this->filesystem->put($path, $this->getContents()); } if ($this->overwriteFile === true) { return $this->filesystem->put($path, $this->getContents()); } throw new FileAlreadyExistException('File already exists!'); } }