aztech/carnival

从实例创建静态外观

0.1.0 2015-02-09 09:03 UTC

This package is auto-updated.

Last update: 2024-09-04 23:31:24 UTC


README

Build Status Scrutinizer Code Quality Code Coverage HHVM Support

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());

是的,就这么简单。