Php 私有变量在读取时返回空白,尽管它是在函数中设置的

Php 私有变量在读取时返回空白,尽管它是在函数中设置的,php,Php,我有一个创建表单的类和一个从视图文件中获取表单名称、表单操作和表单类型的函数。它工作得很好,正如预期的那样,但是当我在另一个函数中调用这些变量来创建实际的表单并将值添加到表单中时,它们返回为空 class Form { private $formname; private $formaction; private $formtype; function Form($form_name, $actionfile, $formtype) { $

我有一个创建表单的类和一个从视图文件中获取表单名称、表单操作和表单类型的函数。它工作得很好,正如预期的那样,但是当我在另一个函数中调用这些变量来创建实际的表单并将值添加到表单中时,它们返回为空

class Form {
     private $formname;
     private $formaction;
     private $formtype;

function Form($form_name, $actionfile, $formtype) {
            $this->formname = $form_name;
            $this->formaction = $actionfile;
            $this->formtype = $formtype;
        }
function formstart() {
$enc = 'enctype="multipart/form-data"';
$returnstring = '<form name="' . $this->formname . '" id="' . $this->formname . '" ' . $enc . ' method="' . $this->formtype . '"  action="' . $this->formaction . '">';
}
这是函数值存储在私有变量中的地方

当我尝试在另一个函数中调用它们时,它们返回为空

class Form {
     private $formname;
     private $formaction;
     private $formtype;

function Form($form_name, $actionfile, $formtype) {
            $this->formname = $form_name;
            $this->formaction = $actionfile;
            $this->formtype = $formtype;
        }
function formstart() {
$enc = 'enctype="multipart/form-data"';
$returnstring = '<form name="' . $this->formname . '" id="' . $this->formname . '" ' . $enc . ' method="' . $this->formtype . '"  action="' . $this->formaction . '">';
}
函数formstart(){
$enc='enctype=“多部分/表单数据”';
$returnstring='';
}

我遗漏了什么吗?

您的类必须具有名称空间才能使用该构造函数。相反,请使用方法
\u construct()


类必须具有名称空间才能使用该构造函数。相反,请使用方法
\u construct()


您正在编写PHP4.xOOP

试试这个:

类形式{
私人$formname;
私人形式;
私人$formtype;
公共函数构造($form\u name、$action\u file、$form\u type){
$this->formname=$form\u name;
$this->formaction=$action\u文件;
$this->formtype=$form\u type;
}
公共函数formstart(){
$enc='enctype=“多部分/表单数据”';
返回“”;
}
}
$f=新表格('name'、'action'、'type');
echo$f->formstart();

您正在编写PHP4.xOOP

试试这个:

类形式{
私人$formname;
私人形式;
私人$formtype;
公共函数构造($form\u name、$action\u file、$form\u type){
$this->formname=$form\u name;
$this->formaction=$action\u文件;
$this->formtype=$form\u type;
}
公共函数formstart(){
$enc='enctype=“多部分/表单数据”';
返回“”;
}
}
$f=新表格('name'、'action'、'type');
echo$f->formstart();

没什么明显的。演示一个测试用例。我正在使用以下命令从视图文件中启动一个表单:
{formstart:searchform:{url:(search/redir)}:POST}
,第一个函数
form()
从中读取值,并且它们显示正确,只是无法在第二个函数
formstart()
中读取它们。没有明显的问题。演示一个测试用例。我正在使用以下命令从视图文件中启动一个表单:
{formstart:searchform:{url:(search/redir)}:POST}
,第一个函数
form()
从中读取值,并且它们显示正确,只是无法在第二个函数
formstart()
中读取它们。也尝试过了。仍在获取空白值。在哪里获取空白值?你需要向我们展示你的代码的更多上下文。再一次,展示一个测试用例。我在第二个函数中得到空值,我需要读取第一个函数
Form()
中生成的值,并将它们传递给第二个函数
startform()
,当我尝试使用
$this->formname
调用它们时,它不会返回任何结果。表单显示如下:
trued\uu构造。仍在获取空白值。在哪里获取空白值?你需要向我们展示你的代码的更多上下文。再一次,展示一个测试用例。我在第二个函数中得到空值,我需要读取第一个函数
Form()
中生成的值,并将它们传递给第二个函数
startform()
,当我尝试使用
$this->formname
调用它们时,它不会返回任何结果。表单显示如下:
是的,这一个有效,但我必须在我的视图文件中更改它,这些文件超过30个。难道没有别的办法吗?正如我在一篇评论中提到的,我用
{formstart:searchform:{url:(search/redir)}:POST}
调用formstart函数。是的,这个函数可以工作,但我必须在超过30个的视图文件中更改它。难道没有别的办法吗?正如我在一篇评论中提到的,我使用
{formstart:searchform:{url:(search/redir)}:POST}