我对PHP相对较新并取得了不错的成功,但我遇到了这个问题:
如果我尝试创建GenericEntryVO类的新实例,我会收到500错误,几乎没有任何有用的错误信息。但是,如果我使用通用对象作为结果,我没有错误。我希望能够将此对象转换为GenericEntryVO,因为我正在使用AMFPHP与Flex客户端进行序列化数据通信。
我已经阅读了几种不同的方法来在PHP中创建构造函数,但是对于PHP 5.4.4,建议使用类Foo的典型“公共函数Foo()”
//in my EntryService.php class
public function getEntryByID($id)
{
$link = mysqli_connect("localhost", "root", "root", "BabyTrackingAppDB");
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * FROM Entries WHERE id = '$id' LIMIT 1";
if ($result = mysqli_query($link, $query))
{
// $entry = new GenericEntryVO(); this is where the problem lies!
while ($row = mysqli_fetch_row($result))
{
$entry->id = $row[0];
$entry->entryType = $row[1];
$entry->title = $row[2];
$entry->description = $row[3];
$entry->value = $row[4];
$entry->created = $row[5];
$entry->updated = $row[6];
}
}
mysqli_free_result($result);
mysqli_close($link);
return $entry;
}
//my GenericEntryVO.php class
<?php
class GenericEntryVO
{
public function __construct()
{
}
public $id;
public $title;
public $entryType;
public $description;
public $value;
public $created;
public $updated;
// public $properties;
}
?>
答案 0 :(得分:0)
再次感谢领导@eis。我没有意识到你可以在PHP中访问错误日志。作为as3 / Flex开发人员,我习惯使用带断点的调试器。不确定PHP开发人员是否有像Flash Builder这样的类似IDE。
在看到通用500错误是找到正确的类来实例化的问题后,我自己做了一些调查。我需要放置require_once realpath(dirname( FILE )。&#39; /vo/GenericEntryVO.php');在班上。我使用as3语法并期望文件路径相对于正在处理的当前文件。这是我找到这个解决方案的地方:
How do I format a PHP include() absolute (rather than relative) path?关于名为@Zoredache的人发表第4或第5条评论
我不确定这是否是最好的解决方案,但它让我重新运行,我的数据对象被序列化以供Flex使用。