当前位置:Gxlcms > PHP教程 > thinkphp中第三方类引入问题

thinkphp中第三方类引入问题

时间:2021-07-01 10:21:17 帮助过:43人阅读

项目引入了第三方类库acp_service,引入是成功的,这个acp_service类中自己引入了
secureUtil.php类。secureUtil.php类引入了另外一个类并且示例化了引入的类,在方法中使用了引入类的方法,在运行加载第三方类库acp_service的那个方法,页面就会报错说找不到secureUtil.php中 那个实例化过的类里面的方法,求解?

引入第三方类的方法,引入是成功的

vendor('Onsdk.acp_service');

acp_service.php

include_once 'log.class.php';
include_once 'secureUtil.php';

secureUtil.php

$log = new PhpLog ( SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL );

phplog为log.class.php的类名,页面报错为:Call to a member function LogInfo() on a non-object , LogInfo()是log.class.php里面的方法

求解,谢谢!

补充:奇怪了在加载页面使用,又不报错,页面正常
就是app_service文件里面引入的那个文件调用 $log->LogInfo() 就报错。

include_once APP_PATH . '/Onsdk/acp_service.php';
$log->LogInfo();die();

回复内容:

项目引入了第三方类库acp_service,引入是成功的,这个acp_service类中自己引入了
secureUtil.php类。secureUtil.php类引入了另外一个类并且示例化了引入的类,在方法中使用了引入类的方法,在运行加载第三方类库acp_service的那个方法,页面就会报错说找不到secureUtil.php中 那个实例化过的类里面的方法,求解?

引入第三方类的方法,引入是成功的

vendor('Onsdk.acp_service');

acp_service.php

include_once 'log.class.php';
include_once 'secureUtil.php';

secureUtil.php

$log = new PhpLog ( SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL );

phplog为log.class.php的类名,页面报错为:Call to a member function LogInfo() on a non-object , LogInfo()是log.class.php里面的方法

求解,谢谢!

补充:奇怪了在加载页面使用,又不报错,页面正常
就是app_service文件里面引入的那个文件调用 $log->LogInfo() 就报错。

include_once APP_PATH . '/Onsdk/acp_service.php';
$log->LogInfo();die();

这个是你在调用的LogInfo的时候报错的呀,而且调用这个方法的变量不是phplog的实例。
你检查下调用这个方法的变量是否正确,如果确定正确,再检查下$log是否实例化成功(如果使用$log
调用的话)。

试一下$log = new \PhpLog ( SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL );, thinkphp的第三方类库一般要加上一个\

人气教程排行