https://github.com/chipk4/selectel-cloud-storage
Selectel cloud storage API (selectel.com) for Laravel
https://github.com/chipk4/selectel-cloud-storage
laravel php selectel-api
Last synced: 5 months ago
JSON representation
Selectel cloud storage API (selectel.com) for Laravel
- Host: GitHub
- URL: https://github.com/chipk4/selectel-cloud-storage
- Owner: chipk4
- License: mit
- Created: 2017-03-15T16:32:44.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-26T11:50:26.000Z (about 9 years ago)
- Last Synced: 2024-12-18T11:28:07.541Z (over 1 year ago)
- Topics: laravel, php, selectel-api
- Language: PHP
- Homepage:
- Size: 200 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Selectel cloud storage API (selectel.com) for Laravel 5
[](https://github.com/chipk4/selectel-cloud-storage/releases)
[](LICENSE.md)
This package provides an easy way to integrate Selectel Cloud Storage API with Laravel 5. Here are some examples of what you can do with the package:
```php
SelectelApi::storageInfo();
//You may use virtual folders like 'newFolder/newFileName.jpg'
SelectelApi::storeFile('container', 'filePath/1243.jpg', 'newFileName.jpg')
SelectelApi::containerInfo('your_container')
SelectelApi::storageContainerList()
/*
* You can use private or public container type
* Public container present by default
* For private container use
*/
SelectelApi::getFile('container', 'fileName', true);
//For public container
SelectelApi::getFile('container', 'fileName');
SelectelApi::containerFileList('container_name');
//If you want to do something else, you can get an instance of the underlying API:
SelectelApi::getApi();
```
## Installation
You can install this package via Composer using:
```bash
composer require chipk4/selectel
```
You must also install this service provider.
```php
// config/app.php
'providers' => [
...
Chipk4\Selectel\SelectelApiServiceProvider::class,
...
];
```
If you want to make use of the facade you must install it as well.
```php
// config/app.php
'aliases' => [
..
'SelectelApi' => Chipk4\Selectel\SelectelApiFacade::class,
];
```
To publish the config file to `app/config/selectel-api.php` run:
```bash
php artisan vendor:publish --provider="Chipk4\Selectel\SelectelApiServiceProvider"
```
This will publish a file `selectel-api.php` in your config directory with the following contents:
```php
return [
/*
* This is agreement number from system
*/
'authUser' => env('SELECTEL_LOGIN'),
/*
* Password for cloud storage service.
* Note: it's different with account password
*/
'authKey' => env('SELECTEL_PASSWORD'),
/*
* API url
*/
'apiUrl' => 'https://auth.selcdn.ru/',
/*
* Default value for request timeout
*/
'timeout' => 10,
/*
* Default storage url
*/
'storageUrl' => env('SELECTEL_STORAGE_URL', ''),
/*
* Response view
* Can be in json or xml
*/
'returnView' => env('SELECTEL_RETURN_VIEW', 'json'),
];
```
## Usage
#### With Facade
```php
use SelectelApi;
SelectelApi::getFile('container', 'fileName');
```
#### With Service Container
```php
use Chipk4\Selectel\CloudStorage;
public function test(CloudStorage $storage)
{
$storage->getFile('container', 'fileName');
}
```
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.