入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2017-07-25 投稿人: 浏览次数:1521

点击进入视频教程


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

thinkphp的错误描述


类型错误: Argument 1 passed to thinkHook::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是留着项目后期使用的那么就需要这样来写返回一个空数组:

<?php

return [

];
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。