>  기사  >  백엔드 개발  >  thinkphp中第三方类引入问题

thinkphp中第三方类引入问题

WBOY
WBOY원래의
2016-06-06 20:13:29961검색

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

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

<code>vendor('Onsdk.acp_service');</code>

acp_service.php

<code>include_once 'log.class.php';
include_once 'secureUtil.php';</code>

secureUtil.php

<code>$log = new PhpLog ( SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL );</code>

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

求解,谢谢!

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

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

回复内容:

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

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

<code>vendor('Onsdk.acp_service');</code>

acp_service.php

<code>include_once 'log.class.php';
include_once 'secureUtil.php';</code>

secureUtil.php

<code>$log = new PhpLog ( SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL );</code>

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

求解,谢谢!

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

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.