Download the PHP package greensight/laravel-auditing without Composer
On this page you can find all versions of the php package greensight/laravel-auditing. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-auditing
Laravel Auditing
Deprecated, use https://github.com/ensi-platform/laravel-auditing instead
Opiniated fork of owen-it/laravel-auditing
Установка
composer require greensight/laravel-auditing
php artisan vendor:publish --provider="Greensight\LaravelAuditing\LaravelAuditingServiceProvider"
- Добавьте в
config/app
класс провайдераGreensight\LaravelAuditing\LaravelAuditingServiceProvider::class
Использование
По-умолчанию никакая история изменения для моделей не сохраняется.
Чтобы включить логирование для конкретной модели надо добавить ей трейт SupportsAudit
и интерфейс Auditable
В случае, если мы меняем данные дочерних с логической точки зрения моделей и хотим чтобы в истории это изменение проходило под родительской моделью, необходимо в транзакции до изменения данных задать корневую сущность (т.е модель).
Делается это через фасад Transaction
или менеджер \\Greensight\\LaravelAuditing\\Transactions\\ExtendedTransactionManager
Для добавления в историю данных о том кто произвел изменения (конкретный пользователь, или, например, консольная команда) опять же нужно это сделать до изменения данных, но уже через фасад Subject
или инъекцию \\Greensight\\LaravelAuditing\\Resolvers\\SubjectManager
Субъект не отвязывается после завершения транзакции.
Его можно отвязать вручную вызовом метода Subject::detach()
.
При обработке http запросов, можно задавать субъекта в middleware. В консольных командах и обработчиках очереди событий переназначать в процессе выполнения.
Субъектом может являться любая сущность, поддерживающая интерфейс \Greensight\LaravelAuditing\Contracts\Principal
.
Если субъектом является выполняемое задание, например, импорт из файла, то оно может возвращать идентификатор
пользователя, создавшего задание в методе getUserIdentifier()
, а в качестве наименования возвращать имя
импортируемого файла.
В модели пользователя методы getAuthIdentifier()
и getUserIdentifier()
возвращают один и тот же идентификатор.
Также в отличии от исходного пакета в истории сохраняются не только измененные поля, но и полное состояние объекта модели на момент изменения.
Лицензия
The MIT License (MIT).
All versions of laravel-auditing with dependencies
illuminate/console Version ^7.0|^8.0
illuminate/database Version ^7.0|^8.0
illuminate/filesystem Version ^7.0|^8.0
illuminate/support Version ^7.0|^8.0
ramsey/uuid Version ^4.0