File helper
xTend has a file helper called FileHandler
which you can use to retrieve and interact with files.
FileHandler methods
system
Use the system()
function to get a file from your Application
directory. You can use the .
notation if you like and you can also specify how many parts of the path are considered extension.
namespace Application;
use Application\Core\FileHandler;
$file = FileHandler::system('Config.Routes.Routes.php');
//you can also specify the number of extension parts, for example
$file = FileHandler::system('Views.home.wow.php', 2);
public
Use the public()
function to get a file from your public
directory. The usage is analog to the system()
method.
$file = FileHandler::public('css.style.css');
Both the system
and the public
method return a File
object which has his own set of methods.
Notice when you cast the File
object to a string it will return it's absolute path
The File object
exists
Returns true
if the file exists, returns false
otherwise.
$file->exists();
writable
Returns true
if the file is writable. Returns false
if not.
$file->writable();
name
Returns the filename without the full path.
$file->name();
parent
Returns the owning directory as a Directory
object.
$file->parent();
Notice read about the Directory
object in the next chapter
move
Moves the file to the specified destination.
$file->move('destination.filename.php');
copy
Copies the file to the specified destination.
$file->copy('destination.filename.php');
remove
Use the remove()
method to delete the file.
$file->remove();
read
The read()
function will return the file contents.
$file->read();
write
Use write()
to write contents to a file.
$file->write('content');
Notice this will overwrite the existing contents
append
Use append()
to write to a file and keep existing file contents.
$file->append('content');
meta
You can use the meta()
method to assign, retrieve or remove meta information associated to the file. The method accepts a maximum of 3 parameters, the first one is the key, the second one is the value and the third one is a boolean to tell xTend to remove the meta value.
// setting a value
$file->meta('key', 'value');
// retrieving a value
// returns false if the key was not found
$file->meta('key');
// removing a value
$file->meta('key', null, true);
Notice the meta information is kept in the Meta
directory. Wow uses meta information to keep compile times for example
include
Use the include()
method to include the file in your project.
$file->include();
extension
Use the extension()
method to get the extension part of the file. (doesn't include the .
)
$file->extension();