Spaces:
Sleeping
Sleeping
File size: 944 Bytes
07c3cdd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | ---
layout: default
permalink: /plugins/
title: Plugins
---
# Plugins
Need a feature which is not included in Flysystem's bag of tricks? Write a plugin!
~~~ php
use League\Flysystem\FilesystemInterface;
use League\Flysystem\PluginInterface;
class MaximusAwesomeness implements PluginInterface
{
protected $filesystem;
public function setFilesystem(FilesystemInterface $filesystem)
{
$this->filesystem = $filesystem;
}
public function getMethod()
{
return 'getDown';
}
public function handle($path = null)
{
$contents = $this->filesystem->read($path);
return sha1($contents);
}
}
~~~
Now we're ready to use the plugin
~~~ php
use League\Flysystem\Filesystem;
use League\Flysystem\Adapter;
$filesystem = new Filesystem(new Adapter\Local(__DIR__.'/path/to/files/'));
$filesystem->addPlugin(new MaximusAwesomeness);
$sha1 = $filesystem->getDown('path/to/file');
~~~
|