php默认值和非对象

php默认值和非对象,php,Php,我有一个带有一些文本字段的多页表单。填写表单并按“下一步”时,表单会将值存储在对象中。 当您按下backbutton时,它会在文本字段中重新加载这些值。这个很好用 但是,当您最初加载表单时,没有创建对象,因此没有任何东西可以从中加载值,并且我得到了对非对象错误的成员函数的调用 例如: <inputfield value='$object->getValue()'> 有没有办法告诉它,当对象不存在时,就让它空着?有is\u object方法: if (is_object($

我有一个带有一些文本字段的多页表单。填写表单并按“下一步”时,表单会将值存储在对象中。 当您按下backbutton时,它会在文本字段中重新加载这些值。这个很好用

但是,当您最初加载表单时,没有创建对象,因此没有任何东西可以从中加载值,并且我得到了对非对象错误的成员函数的调用

例如:

<inputfield value='$object->getValue()'>


有没有办法告诉它,当对象不存在时,就让它空着?

is\u object
方法:

if (is_object($object)){
  // it is there
}
所以你可以像这样检查它:

<inputfield value='<?php is_object(@$object) ? $object->getValue() : '';?>'>

is\u对象
方法:

if (is_object($object)){
  // it is there
}
所以你可以像这样检查它:

<inputfield value='<?php is_object(@$object) ? $object->getValue() : '';?>'>

在使用对象之前,可以执行以下操作:

// All methods called on this object return an empty string.
class EmptyObject {
    public function __call($name, $args) {
        return '';
    }
}

// Use fake object if $object is not defined correctly.
if (!is_object($object)) {
    $object = new EmptyObject();
}

\uu调用
是PHP中的一个重要功能。每次对对象调用未定义的方法时都会调用它。

在使用对象之前,可以执行以下操作:

// All methods called on this object return an empty string.
class EmptyObject {
    public function __call($name, $args) {
        return '';
    }
}

// Use fake object if $object is not defined correctly.
if (!is_object($object)) {
    $object = new EmptyObject();
}

\uu调用
是PHP中的一个重要功能。每次对对象调用未定义的方法时都会调用它。

也是isset方法:

if(isset($object)){
     //it is there
}

这也是一种isset方法:

if(isset($object)){
     //it is there
}
试试这个:

$output = "<inputfield value='". (isset($object) ? $object->getValue() : '') . "'>";
$output=”“;
试试这个:

$output = "<inputfield value='". (isset($object) ? $object->getValue() : '') . "'>";
$output=”“;

您能显示所有代码吗?对象初始化在哪里?可以显示所有代码吗?对象初始化在哪里?