PHP Classes

File: app/Config/Storage.php

Recommend this page to a friend!
  Classes of Ujah Chigozie peter   Luminova Framework   app/Config/Storage.php   Download  
File: app/Config/Storage.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: Luminova Framework
PHP Luminova framework: simple, powerful MVC/HMVC.
Author: By
Last change:
Date: 4 months ago
Size: 3,830 bytes
 

Contents

Class file image Download
<?php
/**
 * Luminova Framework
 *
 * @package Luminova
 * @author Ujah Chigozie Peter
 * @copyright (c) Nanoblock Technology Ltd
 * @license See LICENSE file
 */

/**
 * Tips:
 *
 * The key `base` is like a document root for your remote or local files.
 * @see https://luminova.ng/docs/0.0.0/configs/storage
 * @see https://luminova.ng/docs/0.0.0/files/storages
 *
 * @return array<string,mixed> Storage adapter configurations.
*/
return [
   
/**
     * Default configuration
    */
   
'default' => [
       
'visibility' => 'public',
       
'directory_visibility' => 'public'
   
],

   
/**
     * Local Filesystem storage configuration.
    */
   
'local' => [
       
'base' => root('writeable/storages/'),
       
'assets' => root('public/assets/'),
       
'urls' => [
           
'public_url' => start_url('assets/')
        ],
       
'lock_flags' => LOCK_EX,
       
'disallow_links' => true,
       
'visibility' => [
           
'file' => [
               
'public' => 0644,
               
'private' => 0644,
            ],
           
'dir' => [
               
'public' => 0740,
               
'private' => 7604,
            ],
        ]
    ],

   
/**
     * Memory storage configuration.
    */
   
'memory' => [
       
'readonly' => false
   
],

   
/**
     * AWS-S3 storage configuration.
    */
   
'aws-s3' => [
       
'configuration' => [
           
'credentials' => [
               
'key' => 'your-key',
               
'secret' => 'your-secret',
            ],
           
'region' => 'your-region',
           
'version' => 'latest',
        ],
       
'bucket' => 'bucket-name',
       
'base' => 'path/to/base/storage',
       
'visibility' => 'public',
       
'urls' => [
           
'public_url' => []
        ],
    ],

   
/**
     * AWS-ASYNC-S3 storage configuration.
    */
   
'aws-async-s3' => [
       
'configuration' => [
           
'credentials' => [
               
'key' => 'your-key',
               
'secret' => 'your-secret',
            ],
           
'region' => 'your-region',
           
'version' => 'latest',
        ],
       
'bucket' => 'bucket-name',
       
'base' => 'path/to/base/storage',
       
'visibility' => 'public',
       
'urls' => [
           
'public_url' => []
        ],
    ],

   
/**
     * AZURE-BLOB storage configuration.
    */
   
'azure-blob' => [
       
'dns' => 'DSN-STRING-HERE',
       
'container' => 'container-name',
       
'base' => 'path/to/base/storage',
       
'visibility' => 'public',
       
'urls' => [
           
'public_url' => []
        ],
    ],

   
/**
     * Google Cloud storage configuration.
    */
   
'google-cloud' => [
       
'configuration' => [],
       
'bucket' => 'your-bucket-name',
       
'base' => 'path/to/base/storage',
       
'urls' => [
           
'public_url' => []
        ],
    ],

   
/**
     * Web Dev storage configuration.
    */
   
'web-dev' => [
       
'baseurl' => 'http://your-webdav-server.org/',
       
'username' => 'your-bucket-name',
       
'password' => 'your-password', // required
       
'urls' => [
           
'public_url' => []
        ]
    ],

   
/**
     * FTB storage configuration.
    */
   
'ftp' => [
       
'host' => 'hostname', // required
       
'root' => '/root/path/', // required
       
'username' => 'your-username', // required
       
'password' => 'your-password', // required
   
],

   
/**
     * SFTP storage configuration.
    */
   
'sftp-v3' => [
       
'host' => 'localhost', // required
       
'username' => 'your-username', // required
       
'password' => 'your-password', // required
       
'root' => '/root/path/', // required
       
'port' => 22,
       
'visibility' => []
    ],

   
/**
     * ZIP Archive storage configuration.
    */
   
'zip-archive' => [
       
'path' => '/path/to/zip/'
   
]
];