加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 如何解开laravel类?

发布时间:2020-12-14 19:43:33 所属栏目:大数据 来源:网络整理
导读:我像这样绑定一个类: App::bind('Some_Class','Other_Class') 因此,对App :: make(‘Some_Class’)的调用将返回’Other_Class’的实例.但是,稍后在脚本中我想恢复它,因此调用make现在将返回原始类. 到目前为止,我尝试过这些: App::bind('Some_Class','Some
我像这样绑定一个类:

App::bind('Some_Class','Other_Class')

因此,对App :: make(‘Some_Class’)的调用将返回’Other_Class’的实例.但是,稍后在脚本中我想恢复它,因此调用make现在将返回原始类.

到目前为止,我尝试过这些:

App::bind('Some_Class','Some_Class')
App::bind('Some_Class',NULL)

两者都没有起作用 – 它们似乎导致应用程序存储类的实例,这是不好的,因为我需要能够接受参数.如果在没有参数的情况下调用构造函数,则会触发致命错误.那么,如何撤消绑定?

我甚至尝试过使用反射:

App::bind('Some_Class',function() {
    $args = func_get_args();
    $app = array_shift($args);
    $reflection = new ReflectionClass( 'Some_Class' );
    return $reflection->newInstanceArgs($args);
});

它仍然无法正常工作!

解决方法

App :: offsetUnset(‘Some_Class’)应该这样做.

如果您有一个应用程序实例($app),您甚至可以取消设置($app [‘Some_Class’])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读