Пакет для загрузки изображений

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
snewer
Сообщения: 45
Зарегистрирован: 2016.08.05, 13:10

Пакет для загрузки изображений

Сообщение snewer »

Здравствуйте!

Немного работаю над расширением для загрузки изображений:
https://github.com/snewer/yii2-images

Хотелось бы услышать адекватной критики. Буду рад issue.
snewer
Сообщения: 45
Зарегистрирован: 2016.08.05, 13:10

Re: Пакет для загрузки изображений

Сообщение snewer »

SiZE писал(а): 2018.02.13, 12:12 https://github.com/yii2tech/file-storage
В данном расширении можно использовать один вид хранилища (например, файловое) и создать для него несколько buckets.
Для проекта, под которое я писал расширения такой подход не подходил, было необходимо использовать различные драйвера в рамках одного проекта.
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Пакет для загрузки изображений

Сообщение SiZE »

snewer писал(а): 2018.02.13, 12:19 В данном расширении можно использовать один вид хранилища (например, файловое) и создать для него несколько buckets.
Для проекта, под которое я писал расширения такой подход не подходил, было необходимо использовать различные драйвера в рамках одного проекта.
Не вижу проблемы если честно. Этот пакет довольно абстрактен и неплохо адаптируется под любые нужды. Я думаю если бы вы написали свою реализацию StorageInterface, все от этого бы только выиграли.
snewer
Сообщения: 45
Зарегистрирован: 2016.08.05, 13:10

Re: Пакет для загрузки изображений

Сообщение snewer »

SiZE писал(а): 2018.02.13, 12:37
snewer писал(а): 2018.02.13, 12:19 В данном расширении можно использовать один вид хранилища (например, файловое) и создать для него несколько buckets.
Для проекта, под которое я писал расширения такой подход не подходил, было необходимо использовать различные драйвера в рамках одного проекта.
Не вижу проблемы если честно. Этот пакет довольно абстрактен и неплохо адаптируется под любые нужды. Я думаю если бы вы написали свою реализацию StorageInterface, все от этого бы только выиграли.
Спасибо, я понял вашу позицию по поводу пакета для организации хранилища.
Возможно в будущем заменю. Но также у меня есть интерес поддерживать и развивать свой пакет хранилища. В чем вы видите его основные недостатки (не учитывая его сырость)? Возможность заменить его на yii2tech/file-storage?
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Пакет для загрузки изображений

Сообщение SiZE »

snewer писал(а): 2018.02.13, 12:45 В чем вы видите его основные недостатки (не учитывая его сырость)? Возможность заменить его на yii2tech/file-storage?
Например, для выдачи данных можно использовать плюшки yii\rest, сократить рутину и выкинуть GetAction заменив на ViewAction
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Пакет для загрузки изображений

Сообщение SiZE »

snewer писал(а): 2018.02.13, 12:45 Но также у меня есть интерес поддерживать и развивать свой пакет хранилища.
Наверное у каждого программиста есть такой этап в жизни: свой пакет, своя CMS, свой framework :) Пакет так и так будет ваш, никто не мешает его развивать. Просто как показал пример выше, вы потратите меньше своего же времени на разработку и поддержку.
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Пакет для загрузки изображений

Сообщение SiZE »

Я могу лишь провести аналогию с интерфейсами есть: VGA, DVI, DisplayPort, HDMI - по сути одна фигня, а страдют конечные пользователи. Зато у каждого свой "пакет" :)
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Пакет для загрузки изображений

Сообщение proctoleha »

Так то всё хорошо написано. Но, есть одна проблема: загрузка файлов - это хорошо, но неплохо бы сразу продумать как их можно удалить, по возможности быстро, и без лишнего написания кода. И вот тут всё отдается на откуп разработчику. Возможно есть готовые решения, где эта проблема решается в комплексе, но мне они не попадались.

И вот если начать решать задачу с "конца" - как организовать файловое хранилище таким образом, чтобы можно было, например, при удалении родительской категории, автоматически "грохать" файлы всех потомков.
А у кого-то из детей могут быть продукты с картинками, статьи с картинками, и удаляя родителя, я абсолютно не хочу заморочиваться, и писать лишний код не только для удаления потомков, но для удаления зависимых сущностей. И тогда получается, что загрузка файлов дело вообщем-то не первоочередное, гораздо важнее продумать гибкую систему организации файлового хранилища.

Еще раз подчеркиваю: речь не идет о хранении/удалении отдельно взятого файла. С этим проблем нет, ни в вашем компоненте, ни в примере с
yii2-file-storage.

И получается, что волей-неволей садишься, и пишешь свой велосипед. Потому что заранее заданный жесткий путь для хранения файлов это плохо, имхо, это лишний гемор.
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
snewer
Сообщения: 45
Зарегистрирован: 2016.08.05, 13:10

Re: Пакет для загрузки изображений

Сообщение snewer »

proctoleha писал(а): 2018.02.13, 17:31 Так то всё хорошо написано. Но, есть одна проблема: загрузка файлов - это хорошо, но неплохо бы сразу продумать как их можно удалить, по возможности быстро, и без лишнего написания кода. И вот тут всё отдается на откуп разработчику. Возможно есть готовые решения, где эта проблема решается в комплексе, но мне они не попадались.

И вот если начать решать задачу с "конца" - как организовать файловое хранилище таким образом, чтобы можно было, например, при удалении родительской категории, автоматически "грохать" файлы всех потомков.
А у кого-то из детей могут быть продукты с картинками, статьи с картинками, и удаляя родителя, я абсолютно не хочу заморочиваться, и писать лишний код не только для удаления потомков, но для удаления зависимых сущностей. И тогда получается, что загрузка файлов дело вообщем-то не первоочередное, гораздо важнее продумать гибкую систему организации файлового хранилища.

Еще раз подчеркиваю: речь не идет о хранении/удалении отдельно взятого файла. С этим проблем нет, ни в вашем компоненте, ни в примере с
yii2-file-storage.

И получается, что волей-неволей садишься, и пишешь свой велосипед. Потому что заранее заданный жесткий путь для хранения файлов это плохо, имхо, это лишний гемор.
В планах реализовать несколько консольных команд для подобных действий. В том числе миграция файлов из одного хранилище в другое.
Ответить