toplan / laravel-sms

:iphone::heavy_check_mark:A phone number validation solution based on laravel
MIT License
838 stars 174 forks source link

config/laravel-sms.php里面有function回调,导致php artisan config:cache后程序500 #119

Closed terranc closed 7 years ago

terranc commented 8 years ago

cache后的config为: image

只要去掉这一段,程序正常。google里说config目录下不能用未定义的函数,估计匿名函数也不可以用。 求完美解决方案。

toplan commented 7 years ago

这个问题还没找到解决方案,是在不行只有改为字符串了

medz commented 7 years ago

这个问题好解决~在配置里面的回掉,使用php的魔术方法__invoke即可解决~配置的地方只需要配置class name即可~然后程序回掉方法调的时候就可以把一个class当成一个function执行,这样就触发了__invoke魔术方法执行~ 这种原理在laravel和slim框架中经常使用~尤其是slim~几乎全部都是通过这种魔术方法得以对class的支持的~

toplan commented 7 years ago

已发布 2.6.1 目前使用的是序列化闭包的方式解决

ellisfan commented 6 years ago

@toplan Class 'Toplan\Sms\SmsManger' not found 怎么解决呢?在laravel-sms.php中使用 Toplan\Sms\SmsManger::closure($closure) 方法对匿名函数进行配置