aztech / carnival
从实例创建静态外观
0.1.0
2015-02-09 09:03 UTC
Requires
- php: >= 5.4
Requires (Dev)
- phpmd/phpmd: ~2
- phpunit/phpunit: ~4.2
- squizlabs/php_codesniffer: ~2
- vektah/bugfree-dangerzone: ~0.3
This package is auto-updated.
Last update: 2024-09-04 23:31:24 UTC
README
Carnival 是一个简单的库,用于从实例对象生成静态外观。换句话说,它接收一个对象,将其隐藏在一个生成的静态类后面,从而在您通过静态外观访问对象时,有效地将对象转换为单例。
安装
Composer 是安装和使用 Carnival 的唯一支持方式。从您的项目根目录运行
composer require aztech/carnival
然后,您必须在应用程序的入口文件中包含 Composer 的自动加载器
<?php require_once __DIR__ . 'vendor/autoload.php';
你到底哪里出了问题?
可能有很多事情。但这并不能回答为什么选择这个库。因为!
好吧,最初我写它是作为一种恶作剧。但如果有人觉得它有用,那就继续吧,享受乐趣!
你还在使用 eval
吗?
这不是万恶之源吗?可能吧,但它是以受限制的方式使用的,而且老实说,如果您打算将受污染的数据传递给 Masquerade,让我问问你“你到底哪里出了问题”怎么样?
那么,既然它的无意义已经确定,我该怎么使用它呢?
很简单,将您想要的任何对象绑定到一个新的、不存在的类名(您甚至可以对外观进行命名空间!)如下
// This call is only required once, you can place it in your application bootstrap or wherever. Aztech\Carnival\Masquerade::register(); // Bind an object to a class name Aztech\Carnival\Masquerade::bind('\Facades\SomeArray', new \SplObjectStorage()); // Use your facade Facades\SomeArray::attach(new \stdClass());
是的,就这么简单。