ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Filesystem\FilesystemFacade Class Reference

The filesystem facade is used internally to satisfy the Filesystem interface because the implementations are split into different classes to reduce the size and responsibility of each class. More...

+ Inheritance diagram for ILIAS\Filesystem\FilesystemFacade:
+ Collaboration diagram for ILIAS\Filesystem\FilesystemFacade:

Public Member Functions

 __construct (private FileStreamAccess $fileStreamAccess, private FileAccess $fileAccess, private DirectoryAccess $directoryAccess)
 FilesystemFacade constructor. More...
 
 hasDir (string $path)
 @inheritDoc More...
 
 listContents (string $path='', bool $recursive=false)
 @inheritDoc More...
 
 createDir (string $path, string $visibility=Visibility::PUBLIC_ACCESS)
 @inheritDoc More...
 
 copyDir (string $source, string $destination)
 @inheritDoc More...
 
 deleteDir (string $path)
 @inheritDoc More...
 
 read (string $path)
 @inheritDoc More...
 
 has (string $path)
 @inheritDoc More...
 
 getMimeType (string $path)
 @inheritDoc More...
 
 getTimestamp (string $path)
 @inheritDoc More...
 
 getSize (string $path, int $unit)
 @inheritDoc More...
 
 setVisibility (string $path, string $visibility)
 @inheritDoc More...
 
 getVisibility (string $path)
 @inheritDoc More...
 
 readStream (string $path)
 @inheritDoc More...
 
 writeStream (string $path, FileStream $stream)
 @inheritDoc More...
 
 putStream (string $path, FileStream $stream)
 @inheritDoc More...
 
 updateStream (string $path, FileStream $stream)
 @inheritDoc More...
 
 write (string $path, string $content)
 @inheritDoc More...
 
 update (string $path, string $new_content)
 @inheritDoc More...
 
 put (string $path, string $content)
 @inheritDoc More...
 
 delete (string $path)
 @inheritDoc More...
 
 readAndDelete (string $path)
 @inheritDoc More...
 
 rename (string $path, string $new_path)
 @inheritDoc More...
 
 copy (string $path, string $copy_path)
 @inheritDoc More...
 
 finder ()
 @inheritDoc More...
 
 finder ()
 
 readStream (string $path)
 Opens a readable stream of the file. More...
 
 writeStream (string $path, FileStream $stream)
 Writes the stream to a new file. More...
 
 putStream (string $path, FileStream $stream)
 Creates a new file or updates an existing one. More...
 
 updateStream (string $path, FileStream $stream)
 Updates an existing file. More...
 
 read (string $path)
 Reads a file content to a string. More...
 
 has (string $path)
 Checks whether a file exists. More...
 
 getMimeType (string $path)
 Get a files mime-type. More...
 
 getTimestamp (string $path)
 Get the timestamp of the file. More...
 
 getSize (string $path, int $unit)
 Get the size of a file. More...
 
 setVisibility (string $path, string $visibility)
 Sets the visibility for a file. More...
 
 getVisibility (string $path)
 Get the file visibility. More...
 
 write (string $path, string $content)
 Writes the content to a new file. More...
 
 update (string $path, string $new_content)
 Updates the content of a file. More...
 
 put (string $path, string $content)
 Creates a file or updates an existing one. More...
 
 delete (string $path)
 Deletes a file. More...
 
 readAndDelete (string $path)
 Reads the entire file content into a string and removes the file afterwards. More...
 
 rename (string $path, string $new_path)
 Moves a file from the source to the destination. More...
 
 copy (string $path, string $copy_path)
 Copy the source file to a destination. More...
 
 hasDir (string $path)
 Checks whether the directory exists or not. More...
 
 listContents (string $path='', bool $recursive=false)
 Lists the content of a directory. More...
 
 createDir (string $path, string $visibility=Visibility::PUBLIC_ACCESS)
 Create a new directory. More...
 
 copyDir (string $source, string $destination)
 Copy all childes of the source recursive to the destination. More...
 
 deleteDir (string $path)
 Deletes a directory recursive. More...
 

Detailed Description

The filesystem facade is used internally to satisfy the Filesystem interface because the implementations are split into different classes to reduce the size and responsibility of each class.

This class simply delegates the work to the classes which are responsible for the task.

Author
Nicolas Schäfli ns@st.nosp@m.uder.nosp@m.-raim.nosp@m.ann..nosp@m.ch
Fabian Schmid fabia.nosp@m.n@sr.nosp@m..solu.nosp@m.tion.nosp@m.s

Definition at line 39 of file FilesystemFacade.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Filesystem\FilesystemFacade::__construct ( private FileStreamAccess  $fileStreamAccess,
private FileAccess  $fileAccess,
private DirectoryAccess  $directoryAccess 
)

FilesystemFacade constructor.

Creates a new instance of the facade with the provided access classes.

Parameters
FileStreamAccess$fileStreamAccess
FileAccess$fileAccess
DirectoryAccess$directoryAccess

Definition at line 50 of file FilesystemFacade.php.

54 {
55 }

Member Function Documentation

◆ copy()

ILIAS\Filesystem\FilesystemFacade::copy ( string  $path,
string  $copy_path 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileWriteAccess.

Definition at line 236 of file FilesystemFacade.php.

236 : void
237 {
238 $this->fileAccess->copy($path, $copy_path);
239 }
$path
Definition: ltiservices.php:30

References $path.

◆ copyDir()

ILIAS\Filesystem\FilesystemFacade::copyDir ( string  $source,
string  $destination 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\DirectoryWriteAccess.

Definition at line 84 of file FilesystemFacade.php.

84 : void
85 {
86 $this->directoryAccess->copyDir($source, $destination);
87 }

◆ createDir()

ILIAS\Filesystem\FilesystemFacade::createDir ( string  $path,
string  $visibility = Visibility::PUBLIC_ACCESS 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\DirectoryWriteAccess.

Definition at line 76 of file FilesystemFacade.php.

76 : void
77 {
78 $this->directoryAccess->createDir($path, $visibility);
79 }

References $path.

◆ delete()

ILIAS\Filesystem\FilesystemFacade::delete ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileWriteAccess.

Definition at line 212 of file FilesystemFacade.php.

212 : void
213 {
214 $this->fileAccess->delete($path);
215 }

References $path.

◆ deleteDir()

ILIAS\Filesystem\FilesystemFacade::deleteDir ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\DirectoryWriteAccess.

Definition at line 92 of file FilesystemFacade.php.

92 : void
93 {
94 $this->directoryAccess->deleteDir($path);
95 }

References $path.

◆ finder()

ILIAS\Filesystem\FilesystemFacade::finder ( )

@inheritDoc

Implements ILIAS\Filesystem\Filesystem.

Definition at line 244 of file FilesystemFacade.php.

244 : Finder
245 {
246 return new Finder($this);
247 }

◆ getMimeType()

ILIAS\Filesystem\FilesystemFacade::getMimeType ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileReadAccess.

Definition at line 116 of file FilesystemFacade.php.

116 : string
117 {
118 return $this->fileAccess->getMimeType($path);
119 }

References $path.

◆ getSize()

ILIAS\Filesystem\FilesystemFacade::getSize ( string  $path,
int  $unit 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileReadAccess.

Definition at line 132 of file FilesystemFacade.php.

132 : DataSize
133 {
134 return $this->fileAccess->getSize($path, $unit);
135 }

References $path, and ILIAS\Data\DataSize\getSize().

+ Here is the call graph for this function:

◆ getTimestamp()

ILIAS\Filesystem\FilesystemFacade::getTimestamp ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileReadAccess.

Definition at line 124 of file FilesystemFacade.php.

124 : \DateTimeImmutable
125 {
126 return $this->fileAccess->getTimestamp($path);
127 }

References $path.

◆ getVisibility()

ILIAS\Filesystem\FilesystemFacade::getVisibility ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileReadAccess.

Definition at line 148 of file FilesystemFacade.php.

148 : string
149 {
150 return $this->fileAccess->getVisibility($path);
151 }

References $path.

◆ has()

ILIAS\Filesystem\FilesystemFacade::has ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileReadAccess.

Definition at line 108 of file FilesystemFacade.php.

108 : bool
109 {
110 return $this->fileAccess->has($path);
111 }

References $path.

◆ hasDir()

ILIAS\Filesystem\FilesystemFacade::hasDir ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\DirectoryReadAccess.

Definition at line 60 of file FilesystemFacade.php.

60 : bool
61 {
62 return $this->directoryAccess->hasDir($path);
63 }

References $path.

◆ listContents()

ILIAS\Filesystem\FilesystemFacade::listContents ( string  $path = '',
bool  $recursive = false 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\DirectoryReadAccess.

Definition at line 68 of file FilesystemFacade.php.

68 : array
69 {
70 return $this->directoryAccess->listContents($path, $recursive);
71 }

References $path.

◆ put()

ILIAS\Filesystem\FilesystemFacade::put ( string  $path,
string  $content 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileWriteAccess.

Definition at line 204 of file FilesystemFacade.php.

204 : void
205 {
206 $this->fileAccess->put($path, $content);
207 }

References $path.

◆ putStream()

ILIAS\Filesystem\FilesystemFacade::putStream ( string  $path,
FileStream  $stream 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileStreamWriteAccess.

Definition at line 172 of file FilesystemFacade.php.

172 : void
173 {
174 $this->fileStreamAccess->putStream($path, $stream);
175 }

References $path.

◆ read()

ILIAS\Filesystem\FilesystemFacade::read ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileReadAccess.

Definition at line 100 of file FilesystemFacade.php.

100 : string
101 {
102 return $this->fileAccess->read($path);
103 }

References $path.

◆ readAndDelete()

ILIAS\Filesystem\FilesystemFacade::readAndDelete ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileWriteAccess.

Definition at line 220 of file FilesystemFacade.php.

220 : string
221 {
222 return $this->fileAccess->readAndDelete($path);
223 }

References $path.

◆ readStream()

ILIAS\Filesystem\FilesystemFacade::readStream ( string  $path)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileStreamReadAccess.

Definition at line 156 of file FilesystemFacade.php.

156 : FileStream
157 {
158 return $this->fileStreamAccess->readStream($path);
159 }
The base interface for all filesystem streams.
Definition: FileStream.php:32

References $path.

◆ rename()

ILIAS\Filesystem\FilesystemFacade::rename ( string  $path,
string  $new_path 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileWriteAccess.

Definition at line 228 of file FilesystemFacade.php.

228 : void
229 {
230 $this->fileAccess->rename($path, $new_path);
231 }

References $path.

◆ setVisibility()

ILIAS\Filesystem\FilesystemFacade::setVisibility ( string  $path,
string  $visibility 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileReadAccess.

Definition at line 140 of file FilesystemFacade.php.

140 : bool
141 {
142 return $this->fileAccess->setVisibility($path, $visibility);
143 }

References $path.

◆ update()

ILIAS\Filesystem\FilesystemFacade::update ( string  $path,
string  $new_content 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileWriteAccess.

Definition at line 196 of file FilesystemFacade.php.

196 : void
197 {
198 $this->fileAccess->update($path, $new_content);
199 }

References $path.

◆ updateStream()

ILIAS\Filesystem\FilesystemFacade::updateStream ( string  $path,
FileStream  $stream 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileStreamWriteAccess.

Definition at line 180 of file FilesystemFacade.php.

180 : void
181 {
182 $this->fileStreamAccess->updateStream($path, $stream);
183 }

References $path.

◆ write()

ILIAS\Filesystem\FilesystemFacade::write ( string  $path,
string  $content 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileWriteAccess.

Definition at line 188 of file FilesystemFacade.php.

188 : void
189 {
190 $this->fileAccess->write($path, $content);
191 }

References $path.

◆ writeStream()

ILIAS\Filesystem\FilesystemFacade::writeStream ( string  $path,
FileStream  $stream 
)

@inheritDoc

Implements ILIAS\Filesystem\Provider\FileStreamWriteAccess.

Definition at line 164 of file FilesystemFacade.php.

164 : void
165 {
166 $this->fileStreamAccess->writeStream($path, $stream);
167 }

References $path.


The documentation for this class was generated from the following file: