thinkphp中第三方类引入问题

WBOY
WBOYオリジナル
2016-06-06 20:13:29966ブラウズ

项目引入了第三方类库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 までご連絡ください。