Zend 1 3d party NameSpaces 自动加载不起作用
Zend 1 3d party NameSpaces autoload don't working
我正在尝试将 Amazon WebServices PHP SDK 实施到我的 Zend 1 项目中,但它似乎无法加载 类。
我已经将库放入 library/Eplan/AmazonCloudSearch
,经过调查似乎为了能够加载名称空间,我需要从 Zend_Loader_Autoloader::getInstance()
调用 registerNamespace
方法,所以我把它放在自动加载器的顶部(我也试过把它放在 bootstrap 中,但运气不好):
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Aws");
AWS库的命名空间是这样的:Aws\namespace
我得到的错误是 Warning: include_once(Aws/Common/Aws.php): failed to open stream: No such file or directory in /srv/www_nfs_desarrollo/vhosts/desarrollo.techmaker.net/httpdocs/library/Zend/Loader.php on line 134
自动加载器完整代码:http://pastebin.com/gS9mcntK
我一整天都在绞尽脑汁试图解决这个问题,但没有运气,有什么想法吗?
为了使用 $autoloader->registerNamespace('Aws')
,您寻找的 AWS 库必须在您的 PHP 包含路径中,该路径可能包含您的 ./library
目录。相反,您将 AWS 库埋藏在 ./library/Eplan/AmazonCloudSearch
中,这几乎可以肯定是 而不是 在您的 PHP include_path.
尝试将 AWS 库向上移动两层,直接进入 ./library
目录。
您可以使用以下代码使用 application.ini 文件自动加载。
autoloaderNamespaces[] = "Aws"
我正在尝试将 Amazon WebServices PHP SDK 实施到我的 Zend 1 项目中,但它似乎无法加载 类。
我已经将库放入 library/Eplan/AmazonCloudSearch
,经过调查似乎为了能够加载名称空间,我需要从 Zend_Loader_Autoloader::getInstance()
调用 registerNamespace
方法,所以我把它放在自动加载器的顶部(我也试过把它放在 bootstrap 中,但运气不好):
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Aws");
AWS库的命名空间是这样的:Aws\namespace
我得到的错误是 Warning: include_once(Aws/Common/Aws.php): failed to open stream: No such file or directory in /srv/www_nfs_desarrollo/vhosts/desarrollo.techmaker.net/httpdocs/library/Zend/Loader.php on line 134
自动加载器完整代码:http://pastebin.com/gS9mcntK
我一整天都在绞尽脑汁试图解决这个问题,但没有运气,有什么想法吗?
为了使用 $autoloader->registerNamespace('Aws')
,您寻找的 AWS 库必须在您的 PHP 包含路径中,该路径可能包含您的 ./library
目录。相反,您将 AWS 库埋藏在 ./library/Eplan/AmazonCloudSearch
中,这几乎可以肯定是 而不是 在您的 PHP include_path.
尝试将 AWS 库向上移动两层,直接进入 ./library
目录。
您可以使用以下代码使用 application.ini 文件自动加载。
autoloaderNamespaces[] = "Aws"