您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 佳木斯分类信息网,免费分类信息发布

spl_autoload_register 参数问题

2024/6/19 0:51:59发布20次查看
我看到symfony2的psr4classloader类中有一句是:
public function register($prepend = false) { spl_autoload_register(array($this, 'loadclass'), true, $prepend); }

spl_autoload_register函数的第一个参数是字符串的话,我能理解是将名为字符串的函数加到autoload栈中。但是这里是一个数组是什么意思呢?
回复内容: 我看到symfony2的psr4classloader类中有一句是:
public function register($prepend = false) { spl_autoload_register(array($this, 'loadclass'), true, $prepend); }

spl_autoload_register函数的第一个参数是字符串的话,我能理解是将名为字符串的函数加到autoload栈中。但是这里是一个数组是什么意思呢?
出现这个问题说明你没有掌握php描述和处理回调的几种方式。
能通过is_callable的可以直接被一系列函数处理,参数是能够定位调用位置的字符串或数组。
callable的回调类型有几种,题主说的是简单回调类型,传递一个字符串就是回调这个字符串命名的函数。还有传入数组的话,分两种:一种是静态方法回调,一种是对象方法回调。题主贴的代码是对象方法回调,调用本类的$this->loadclass()方法,当然,如果loadclass是静态方法,把$this换成当前类的名字以字符串形式传递就行,或者这么写:spl_autoload_register('myclass::loadclass', true, $prepend);。这里是回调类型官网地址,可以看看:callback 回调类型
如果是数组,就是一个类里的对象,
相当于$this->loadclass
佳木斯分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录