thinkphp5错误:类型错误: Argument 1 passed to think\Hook::import() must be of the type array

来源:互联网 发布:python经典程序实例 编辑:程序博客网 时间:2024/06/04 21:16

点击进入视频教程


使用thinkPHP5的时候出现如下错误

thinkphp的错误描述


类型错误: Argument 1 passed to think\Hook::import() must be of the type array, integer given, called in /data/php/college/thinkphp/library/think/App.php on line 509

问题原因分析

在我使用thinkphp5的

php think build 

自动创建完项目的结构后出现了如下错误。那么问题应该就出在自动构建的文件中。其实通过以上的错误可以看出。出问题的地方就是Hook中执行import进行钩子的挂载时出问题了。这个问题的原因分析之前我们先来看看自动构建文件build.php的结构。

'frontend' => [        '__file__' => ['common.php', 'config.php', 'tags.php'],        '__dir__' => ['behavior', 'controller', 'model', 'view']    ]

这个写法自然是没有问题的。但是在自动生成的问题件中有个一tags.php打开tags.php可以发现是一个空的PHP文件。

问题解决

问题就出在这儿
tags.php会在程序初始化时载入,载入后会去分析tags.php中的配置而且是不加判断直接传入到Hook的import中的。这样就会导致这样的一个错误。所以如果tags.php是留着项目后期使用的那么就需要这样来写返回一个空数组:

<?phpreturn [];
阅读全文
1 0
原创粉丝点击