Commit 7c8655c7 authored by Dmitry Nikulin's avatar Dmitry Nikulin

Add documentation

parent ca895f18
composer.lock composer.lock
vendor vendor
docs
API Index
=========
* AttachmentsClient
* [AttachmentsClient](AttachmentsClient-AttachmentsClient.md)
AttachmentsClient\AttachmentsClient
===============
* Class name: AttachmentsClient
* Namespace: AttachmentsClient
Methods
-------
### __construct
mixed AttachmentsClient\AttachmentsClient::__construct(string $baseUrl)
Создаёт экземпляр клиента.
* Visibility: **public**
#### Arguments
* $baseUrl **string** - <p>Base URL сервера вложений</p>
### uploadFromFile
string AttachmentsClient\AttachmentsClient::uploadFromFile(string $filename)
Загружает файл с диска на сервер (по имени файла).
Возвращает ссылку на загрузку файла (с учётом baseUrl,
переданного в конструктор)
При ошибках выбрасывается исключение.
* Visibility: **public**
#### Arguments
* $filename **string** - <p>Путь к файлу</p>
### uploadFromMemory
string AttachmentsClient\AttachmentsClient::uploadFromMemory(string $data, string $name)
Загружает файл из памяти на сервер.
Возвращает ссылку на загрузку файла (с учётом baseUrl,
переданного в конструктор)
При ошибках выбрасывается исключение.
* Visibility: **public**
#### Arguments
* $data **string** - <p>Данные для загрузки</p>
* $name **string** - <p>(необязательно) Имя файла, по умолчанию - file</p>
# Attachments PHP client
Эта библиотека предоставляет интерфейс на PHP для загрузки файлов на
сервер вложений.
Поддерживается загрузка файлов с диска и из памяти.
## Установка
Через Composer: создайте файл composer.json со следующим содержимым:
```
{
"require": {
"theowl/attachments-client": "dev-master"
},
"repositories": [
{
"type": "vcs",
"url": "<attachments-client-repo>"
}
]
}
```
`<attachments-client-repo>` нужно заменить на адрес репозитория.
После этого выполнить:
```
$ composer install
```
## API
См. [сгенерированную документацию](ApiIndex.md).
Чтобы сгенерировать документацию (нужен phpdoc):
```
$ phpdoc -d src -t docs --visibility=public --template=xml
$ vendor/bin/phpdocmd docs/structure.xml
```
## Пример использования:
```
<?php
require('vendor/autoload.php');
use AttachmentsClient\AttachmentsClient;
$client = new AttachmentsClient('http://localhost:8100');
echo($client->uploadFromFile('composer.json'));
?>
```
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
} }
}, },
"require": { "require": {
"evert/phpdoc-md" : "~0.2.0",
"guzzlehttp/guzzle": "^6.3" "guzzlehttp/guzzle": "^6.3"
} }
} }
...@@ -11,9 +11,9 @@ class AttachmentsClient { ...@@ -11,9 +11,9 @@ class AttachmentsClient {
private $client; private $client;
/** /**
* Creates a new client instance. * Создаёт экземпляр клиента.
* *
* @param string $baseUrl Base URL for attachment server API * @param string $baseUrl Base URL сервера вложений
*/ */
function __construct ($baseUrl) { function __construct ($baseUrl) {
$this->baseUrl = $this->ensureNotEndsWithSlash($baseUrl); $this->baseUrl = $this->ensureNotEndsWithSlash($baseUrl);
...@@ -23,11 +23,14 @@ class AttachmentsClient { ...@@ -23,11 +23,14 @@ class AttachmentsClient {
// *** Public API methods *** // *** Public API methods ***
/** /**
* Uploads a file from filesystem to attachments server. * Загружает файл с диска на сервер (по имени файла).
* Возвращает ссылку на загрузку файла (с учётом baseUrl,
* переданного в конструктор)
* При ошибках выбрасывается исключение.
* *
* @param string $filename Path to file to be uploaded * @param string $filename Путь к файлу
* *
* @return string Download link for the file * @return string
*/ */
public function uploadFromFile ($filename) { public function uploadFromFile ($filename) {
$data = file_get_contents($filename); $data = file_get_contents($filename);
...@@ -35,12 +38,15 @@ class AttachmentsClient { ...@@ -35,12 +38,15 @@ class AttachmentsClient {
} }
/** /**
* Uploads data from memory to attachments server. * Загружает файл из памяти на сервер.
* Возвращает ссылку на загрузку файла (с учётом baseUrl,
* переданного в конструктор)
* При ошибках выбрасывается исключение.
* *
* @param string $file File data to be uploaded, stored in memory * @param string $data Данные для загрузки
* @param string $name (optional) Name of file to be passed to server * @param string $name (необязательно) Имя файла, по умолчанию - file
* *
* @return string Download link for the file * @return string
*/ */
public function uploadFromMemory ($data, $name = 'file') { public function uploadFromMemory ($data, $name = 'file') {
$url = $this->getFullMethodUrl('/ul'); $url = $this->getFullMethodUrl('/ul');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment