jaem3l / unfuck
一个库,用于修正供应商代码并破坏你自己的代码
v0.2
2024-01-09 19:34 UTC
Requires
- php: ^8.1
- composer-plugin-api: ^2.0
- nikic/php-parser: ^5.0
Requires (Dev)
- composer/composer: ^2.6
- phpunit/phpunit: ^10.5
README
多年来,PHP 的发展使得在不考虑运行时的情况下使用供应商代码变得更加困难。
所以,如果你厌倦了开源维护者通过以下方式给你带来的负担:
- 在类或方法上使用
final
关键字 - 将属性或方法的可见性降低到
private
或protected
- 通过添加类型声明、返回类型或类型属性来限制功能
- 通过强制传递方法参数来强制使用它们
- 使用严厉的
readonly
修饰符强制不可变性 - 提高运行时稳定性
Jæm3l 会为你解决这些问题!
只需安装 jaem3l/unfuck,即可修正你使用的供应商代码,并破坏你自己的代码
$ composer require jaem3l/unfuck
Jæm3l Unfuck 将挂钩到运行时以消除所有这些痛苦的限制,并给你全部的自由来自由地射击自己的脚、背部或头部。
示例
你的供应商库提供了一个功能类,例如
final class Example { private readonly string $foo; public function __construct(string $foo) { $this->foo = $foo; } private function getFoo(): string { return $this->foo; } }
但你确信你想要这样使用它
$inst = new class extends Example{}; $inst->foo = 42; var_dump($inst->getFoo());
有了 Jæm3l Unfuck,你终于可以自由地这样做。YOLO
PS:这可能会在时间和内存消耗方面影响运行时性能。但如果你安装了它,你已经证明你并不真正关心你的运行时。这应该阻止你吗?!