我面临一个相当奇怪的问题
在我的一个Kohana模块中,Autoload似乎只在一个类中失败,也只在我的升级盒上失败,但在我的开发盒上却没有。
此外,它在同一段代码中加载所有其他类。
所以我有这个课程,我称之为其他课程:
class PayPal_AdaptivePayment extends PayPal {
public function DoAdaptivePayment($params)
{
$receiverList = new PayPal_Container_ReceiverList();
....some more other code
$result = new Paypal_Result_AdaptiveResult($response);
}
}
PayPal_Container_ReceiverList()和Paypal_Result_AdaptiveResult()这两个类都位于我正在调用它们的类级别的文件夹中。
PayPal_Container_ReceiverList() lives in ./Container/receiverlist.php
Paypal_Result_AdaptiveResult() lives in ./Result/adaptiveversult.php
由于某种原因,它无法找到PayPal_Container_ReceiverList类,除非我特意将它包含在顶部
但它可以找到Paypal_Result_AdaptiveResult()类。
在课堂上没有什么真正疯狂的事情发生了:
class PayPal_Container_ReceiverList extends PayPal {
public $receiver = array();
public function __construct()
{
}
}
就是这样。
PayPal_Result_AdaptiveResult类有点复杂,我不认为在这里粘贴它是有道理的。
认为这可以在一个盒子而不是另一个盒子上工作,这可能会让我有一个迹象表明它可能与php而不是kohana有关,但我不确定。
它的工作原理我有PHP 5.3.8
在它没有的那个我有php 5.3.2
有没有人在这里看到一些我只是没有看到的东西?
非常感谢任何帮助!
吨。
答案 0 :(得分:1)
其中一个文件名中存在拼写错误(adaptiveversult.php)。此外,所有文件夹和文件都应为小写。它正在研究的系统可能是Windows(不区分大小写)。基本上这是类应该的路径:
paypal/container/receiverlist.php
paypal/result/adaptiveresult.php