我正试图从控制器内部使用一个方法。
这在我的"视图"中工作
use aweber'aweber'aweber_api;
$consumerKey = "XXXX";
$consumerSecret = "XXXXX";
$aweber = new AWeberAPI($consumerKey, $consumerSecret);
但它在我的控制器中不起作用。
我得到错误
Class 'app'controllers'AWeberAPI' not found
有什么提示吗?
我认为您已将AWeber-API-PHP-库提取到路径AWeber''AWeber''API中。目录结构可以是
$ ls aweber'aweber'aweber_api
aweber.php
aweber_api.php
....
如果您使用composer自动加载类,AWeberAPI位于根命名空间中
use 'AWeberAPI;
$aweber = new AWeberAPI($consumerKey, $consumerSecret);
如果您没有使用composer 自动加载
require_once('aweber_api/aweber_api.php');
$aweber = new AWeberAPI($consumerKey, $consumerSecret);
通常与扩展相关的扩展位于供应商命名空间中。。
尝试
use vendor'aweber'aweber_api;
您有一个打字错误。php文件的名称通常与类的名称相同。所以你的代码应该是:
use aweber'aweber'AWeberAPI;
如果不是,你可以试试:
use aweber'aweber'aweber_api as AWeberAPI;
感谢您的评论。为了修复它,我实际上把这个功能移到了我的"视图"中,而不是放在我的控制器中,它就工作了。
我无法在这里测试答案,所以如果其他人面临同样的问题,我建议尝试其中的一些答案。