PHPackages                             mbober35/fileable - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. mbober35/fileable

ActiveLibrary[File &amp; Storage](/categories/file-storage)

mbober35/fileable
=================

Model for management files

1.3.0(5y ago)043MITPHPPHP ^7.3|^8.0

Since Jan 21Pushed 5y ago1 watchersCompare

[ Source](https://github.com/MBober35/Fileable)[ Packagist](https://packagist.org/packages/mbober35/fileable)[ RSS](/packages/mbober35-fileable/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (4)Versions (11)Used By (0)

Files
=====

[](#files)

Модель файлы, позволяет прикреплять файлы к модели.

Прописаны трейты для добавления изображения и галереи изображений.

Есть VueJs компомент для управления галереей.

Есть генерация миниатюр изображений по имени пути `thumb-img`:{template}{file}. Миниатюры сохраняются отдельными файлами.

Install
-------

[](#install)

```
php artisan migrate
php artisan vendor:publish --provider="MBober35\Fileable\ServiceProvider" --tag=public
php artisan fileable
php artisan storage:link
FILESYSTEM_DRIVER=public - что бы был доступ к файлам из паблика

```

Публикация конфигурации:

```
php artisan vendor:publish --provider="MBober35\Fileable\ServiceProvider" --tag=config

```

### Commands

[](#commands)

`thumb:clear { --template= : clear only for template } { --all : clear all }`: очистка миниатюр изображений.

### Traits

[](#traits)

`ShouldImage` трейт для добавления одного изображения в модель. В таблице должно быть поле `image_id`, либо можно переопределить добавлением переменной `imageKey` в класс модели.

После подключения у модели появляются методы:

- `image`: связь belongsTo
- `uploadImage($path = false, $inputName = "image", $field = "title")`: загрузка изображения из `request`
- `clearImage($deleted = false)`: удалить изображение

`ShouldGallery` трейт для добавления галереи изображений в модель. В конфигурацию необходимо добисать название модели и класс. `"user" => \App\Models\User::class`

После подключения у модели появляются методы:

- `images`: связь morphMany
- `cover`: связь morphOne, для получения первого изображения
- `clearImages`: удалить все изображения

`ShouldDocument` трейт для добавлений файла в модель. В таблице должно быть поле `document_id`, либо можно переопределить добавлением переменной `docKey` в класс модели.

После подключения у модели появляются методы:

- `document`: связь belongsTo
- `uploadDocument($path = false, $inputName = "document", $field = "title")`: загрузка файла из `request`
- `clearDocument`: удалить документ

### Configuration

[](#configuration)

- `models`: список моделей у которых есть галерея
- `templates`: список фильтров для миниатюр
- `imageResource`: вывод изображений для редактирования изображений

### Components

[](#components)

Вывод галереи `x-gallery`Параметры: `model`, `id`

```

```

Вывод документов `x-documents`Параметры: `model`, `id`

```

```

Вывод тега picture `x-picture`Параметры: `template`, `:image`, `:grid`, `class`

```
@php($image = ["file_name" => "unsplash.jpg", "name" => "unsplash"])
@php($grid = [1400 => "large", 992 => "medium"])

```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity64

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

10

Last Release

1888d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5ee05748c69f8ec061236a12f8aaab10f093c9433ede35cd6681cbcf8a280d35?d=identicon)[MBober35](/maintainers/MBober35)

### Embed Badge

![Health badge](/badges/mbober35-fileable/health.svg)

```
[![Health](https://phpackages.com/badges/mbober35-fileable/health.svg)](https://phpackages.com/packages/mbober35-fileable)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
