Make sure you've checked the requirements first!
Installing the plugin via Composer is very simple, just run in your project folder:
composer require burzum/file-storage:^4.0
You need to setup the plugin database using the official migrations plugin for CakePHP.
cake migrations migrate -p Burzum/FileStorage
If you're coming from the CakePHP 2.0 version of the plugin, the support for the CakeDC Migrations plugin has been dropped in favor of the official migrations plugin.
Add the following part to your applications config/bootstrap.php
.
use Cake\Event\EventManager;
use Burzum\FileStorage\Lib\FileStorageUtils;
use Burzum\FileStorage\Lib\StorageManager;
use Burzum\FileStorage\Event\ImageProcessingListener;
use Burzum\FileStorage\Event\LocalFileStorageListener;
// Only required if you're *NOT* using composer or another autoloader!
spl_autoload_register(__NAMESPACE__ .'\FileStorageUtils::gaufretteLoader');
$listener = new LocalFileStorageListener();
EventManager::instance()->on($listener);
// For automated image processing you'll have to attach this listener as well
$listener = new ImageProcessingListener();
EventManager::instance()->on($listener);
Depending on the storage backend of your choice, for example Amazon S3 or Dropbox, you'll very likely need additional vendor libs and extended adapter configuration.
Please see the Specific Adapter Configuration page of the documentation for more information about then. It is also worth checking the Gaufrette documentation for additonal adapters.
The plugin tests are set up in a way that you can run them without putting the plugin into a CakePHP3 application. All you need to do is to go into the FileStorage folder and run these commands:
cd <file-storage-plugin-folder>
composer update
phpunit