monooso/unobserve
Composer 安装命令:
composer require monooso/unobserve
包简介
Mute and unmute Laravel observers at will.
关键字:
README 文档
README
About Unobserve
When testing Laravel applications, we frequently need to "silence" events, so as not to trigger additional side-effects. Laravel's Event::fake method is useful, but muting a specific model observer is still problematic.
Unobserve takes care of that, making it easy to mute and unmute an observer at will.
Requirements and installation
Unobserve supports only the latest major version of Laravel. See composer.json for the exact version requirements.
Install it using Composer:
composer require monooso/unobserve
Usage
First, add the CanMute trait to your observer class.
<?php namespace App\Observers; use Monooso\Unobserve\CanMute; class UserObserver { use CanMute; }
You can now mute and unmute your observer as needed:
UserObserver::mute(); UserObserver::unmute();
Mute options
Mute all observer events:
UserObserver::mute();
Mute specific observer events:
UserObserver::mute('creating'); UserObserver::mute(['creating', 'created']);
Local development
Unobserve is very stable at this point. If you have any feature ideas please open an issue before doing any work.
Development and testing happen entirely inside Podman containers, driven by the ./dev script. You do not need to install PHP, Composer, or any project dependencies on your machine.
The dev helper script builds a disposable PHP + Composer image for the PHP version you name, mounts your working tree into it, and runs your command. Any changes to composer.json and composer.lock are written back to your disk so they can be committed.
Prerequisites
Podman 5.x or later.
Common tasks
The dev script always accepts the target PHP version as the first argument. The first time you run a command with a given PHP version, it builds the image automatically.
| Command | Purpose |
|---|---|
./dev 8.3 |
Open a shell on PHP 8.3 |
./dev 8.3 test |
Run the test suite |
./dev 8.3 lint |
Run Laravel Pint |
./dev 8.3 composer install |
Install dependencies from the lock file |
./dev 8.3 composer update |
Re-resolve dependencies (rewrites composer.lock) |
./dev 8.3 composer outdated |
List outdated packages |
./dev 8.3 php -v |
Run any command in the container |
./dev build 8.3 |
Rebuild the image for a version |
Run ./dev --help for the full reference.
Upgrading PHP or Laravel
-
Create a branch.
-
Edit
composer.jsonto widen the relevant constraints, e.g."php": "^8.3"and"illuminate/support": "^13.0". -
Re-resolve dependencies against the target PHP version:
./dev 8.3 composer update
-
In the event of a conflict, investigate and iterate:
./dev 8.3 composer why-not laravel/framework 13.0.0 ./dev 8.3 composer require illuminate/support:"^13.0" --no-update ./dev 8.3 composer update -
Run the tests and linter:
./dev 8.3 test ./dev 8.3 lint -
Commit
composer.jsonandcomposer.lock.
Each PHP version keeps its own dependency cache, so several versions can be tested side by side (e.g. ./dev 8.2 test, ./dev 8.3 test) without interfering with each other.
License
Unobserve is open source software, released under the MIT license.
monooso/unobserve 适用场景与选型建议
monooso/unobserve 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 404.47k 次下载、GitHub Stars 达 83, 最近一次更新时间为 2019 年 09 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 monooso/unobserve 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 monooso/unobserve 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 monooso/unobserve 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Alfabank REST API integration
Laravel package for Accurate Online API integration.
Shared RCX Laravel DataTables UI and configuration helpers.
Boot a Laravel project on any machine with one command: app:serve installs missing tools (PHP, Node, Composer, Herd, Docker), creates .env, sets up the database, runs migrations, builds assets, starts a queue worker and serves via Herd, Sail or artisan serve; app:down cleanly stops everything it sta
Branded, diagnostic error pages (500, 403, 404, 419, 503) for Filament — native Filament UI, dark mode and translations out of the box.
Turn any PDF into a Pingen-ready A4 letter (generated address cover page + A4 normalisation + safe margins) and send it through the Pingen print & mail API. Laravel-first.
统计信息
- 总下载量: 404.47k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 83
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-09-25