我正在尝试将 Amazon WebServices PHP SDK 实现到我的 Zend 1 项目中,但它似乎无法加载类。
我已经将库放入 library/Eplan/AmazonCloudSearch
中,经过调查似乎为了能够加载命名空间,我需要调用 registerNamespace
方法来自 Zend_Loader_Autoloader::getInstance()
所以我把它放在了自动加载器的顶部(我也试过把它放在 Bootstrap 中但运气不好):
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Aws");
AWS库的命名空间是这样的:Aws\namespace
我得到的错误类似于 警告:include_once(Aws/Common/Aws.php):无法打开流:/srv/www_nfs_desarrollo/vhosts/desarrollo.techmaker.net/httpdocs 中没有这样的文件或目录/library/Zend/Loader.php 第 134 行
自动加载器完整代码:http://pastebin.com/gS9mcntK
我一整天都在努力解决这个问题,但运气不好,有什么想法吗?
最佳答案
为了使用 $autoloader->registerNamespace('Aws')
,您寻找的 AWS 库必须在您的 PHP 包含路径中,它可能包含您的 ./library
目录。相反,您将 AWS 库隐藏在 ./library/Eplan/AmazonCloudSearch
中,这几乎可以肯定不在您的 PHP include_path 中。
尝试将 AWS 库向上移动两层,直接进入 ./library
目录。
关于php - Zend 1 3d party NameSpaces 自动加载不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30352814/