我试过搜索,但无法弄清楚为什么会失败。
public function slim_items( $faties ) {
$smallies = array ();
global $faties;
require_once 'wp-content/plugins/cl-rest/modules/CLBasicItem.php';
require_once 'wp-content/plugins/cl-rest/helpers.php';
foreach ($faties as $fat){
$smallies[]=new CLBasicListItem($fat);
}
return $smallies;
}
此功能是课程的一部分。问题是一旦foreach(我试过一个简单的for)循环开始运行,$ fat变为null。一旦进入循环范围,它就不会引用$ faties。
我在这做错了什么,拜托? $ faties真的必须申报全球吗?我注意到你甚至不能将它们全局声明为类字段。
如果有人可以帮助推荐一个除了Eclipse for PHP之外的开源IDE,我将非常感激。也许我做错了,但我发现简单的任务,如单步执行代码和设置断点是非常严峻的考验。我遇到的所有异常方式和IDE /堆栈几乎没有显示实际原因或完全错过了问题。实际上,PHP / Apache在出现错误时默认发出的消息通常比eclipse提供奇怪的捕获异常的时间更有用。
编辑:下面回答得更好,但我可以发誓我尝试了代码而没有宣布$ faties为全局(甚至根本没有)并且它不起作用。
让我更加沮丧public function slim_items( $faties ) {
global $uglies, $smallies;
$uglies=$faties;
$smallies = array ();
require_once 'wp-content/plugins/cl-rest/modules/CLBasicItem.php';
require_once 'wp-content/plugins/cl-rest/helpers.php';
foreach ($uglies as $fat){
$smallies[]=new CLBasicListItem($fat);
}
return $smallies;
}
到现在为止还没回来检查。谢谢大家,因为你的解决方案明显更好
答案 0 :(得分:1)
这有用吗?
public function slim_items( $faties ) {
$smallies = array ();
// global $faties; <-- this is already declared
require_once 'wp-content/plugins/cl-rest/modules/CLBasicItem.php';
require_once 'wp-content/plugins/cl-rest/helpers.php';
foreach ($faties as $fat){
$smallies[]=new CLBasicListItem($fat);
}
return $smallies;
}
答案 1 :(得分:0)
注意public function slim_items( $faties ) {
和global $faties;
您将$fatties
重新声明为
全球性的。