Heim > Backend-Entwicklung > PHP-Tutorial > thinkphp中第三方类引入问题

thinkphp中第三方类引入问题

WBOY
Freigeben: 2016-06-06 20:13:29
Original
966 Leute haben es durchsucht

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

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

<code>vendor('Onsdk.acp_service');</code>
Nach dem Login kopieren
Nach dem Login kopieren

acp_service.php

<code>include_once 'log.class.php';
include_once 'secureUtil.php';</code>
Nach dem Login kopieren
Nach dem Login kopieren

secureUtil.php

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

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>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

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

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

<code>vendor('Onsdk.acp_service');</code>
Nach dem Login kopieren
Nach dem Login kopieren

acp_service.php

<code>include_once 'log.class.php';
include_once 'secureUtil.php';</code>
Nach dem Login kopieren
Nach dem Login kopieren

secureUtil.php

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

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>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage