monooso/unobserve 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

monooso/unobserve

Composer 安装命令:

composer require monooso/unobserve

包简介

Mute and unmute Laravel observers at will.

关键字:

README 文档

README

Lint and Test Status Latest Stable Version License

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

  1. Create a branch.

  2. Edit composer.json to widen the relevant constraints, e.g. "php": "^8.3" and "illuminate/support": "^13.0".

  3. Re-resolve dependencies against the target PHP version:

    ./dev 8.3 composer update
  4. 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
  5. Run the tests and linter:

    ./dev 8.3 test
    ./dev 8.3 lint
  6. Commit composer.json and composer.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 我们能提供哪些服务?
定制开发 / 二次开发

基于 monooso/unobserve 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 404.47k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 83
  • 点击次数: 24
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 83
  • Watchers: 2
  • Forks: 12
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-09-25