我以前主要用PHP编写脚本,现在考虑对它“更严肃”:)
我正在一个远足网站上工作,我需要将一些值放入一个对象中,然后我尝试将其传递回调用代码.
我试过这样做:
$trailhead = new Object ();
但是这个系统对我不利.
然后我根本没有声明对象,并开始像这样使用它:
$trailhead->trailhead_name = $row['trailhead_name'];
$trailhead->park_id = $row['park_id'];
这看起来似乎合理.但至少有3个问题:
>由于在从数据库获取内容时执行该代码,如果有多行,我该怎么办?
>当我将$trailhead传递回调用代码时,变量为空
>我真的可能更喜欢为Trailhead制作一个真实的物体,如下所示:
class Trailhead
{
private $trailhead_name;
private $park_id;
private $trailhead_id;
public function __construct()
{
$this->trailhead_name = NULL;
$this->park_id = NULL;
$this->trailhead_id = NULL;
}
}
人们在这些情况下通常会做些什么?我的方法在哪里出错?我知道它不止一个地方:)
解决方法:
> $trailheads [] = $trailhead;
>我会使用$trailhead的print_r()来检查它是否符合您的预期. PHP中的默认对象类型将是stdClass.
>是的,那会更好,因为它会让你的Trailhead对象具有功能.你目前正在这样做的方式基本上没有利用PHP的任何对象功能 – 它本质上是一个语法略有不同的数组.