如何将值设置为类的变量并显示它?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将值设置为类的变量并显示它?相关的知识,希望对你有一定的参考价值。

在我的项目中,我定义了一个Test类。

这个类只有__construct函数,这是Test类的代码:

<?php
namespace model;
public  class Test  {
private $db;
protected $fields;
public $variables;

public function __construct($data = array()) {
    if ($this->fields && $data) {
        foreach ($data as $k => $d) {
            if (!in_array($k, $this->fields)) {
                unset($data[$k]);
            }
        }
     }
    $this->variables  = $data;
}

}

现在我想使用这个类,这是我的html代码:

<body style="height:100%" >
<?php 
include "o1ws1v/class/model/Test.php";//include class file
$test_model = new modelTest();

$test_model->xie="zuo";
echo    $test_model->xie;
?>
</body>

但不幸的是,它失败了。控制台中没有显示任何内容。

我测试过:

var_dump($test_model);

它也什么也没做。

我想为Test类的变量赋值并显示它。

谁能帮我?

答案

使用您的代码,您将收到错误

PHP Parse错误:语法错误,意外的'public'(T_PUBLIC),期待文件结束...

public类中删除Test关键字:

<?php

namespace model;

class Test  {
    private $db;
    protected $fields;
    public $variables;

    public function __construct($data = array()) {
        if ($this->fields && $data) {
            foreach ($data as $k => $d) {
                if (!in_array($k, $this->fields)) {
                    unset($data[$k]);
                }
            }
        }
        $this->variables  = $data;
    }

}
另一答案

我认为你必须将公共类更改为只有类,这部分代码应该正常工作。

<?php
namespace model;
class Test  {
private $db;
protected $fields;
public $variables;

public function __construct($data = array()) {
    if ($this->fields && $data) {
        foreach ($data as $k => $d) {
            if (!in_array($k, $this->fields)) {
                unset($data[$k]);
            }
        }
     }
    $this->variables  = $data;
}

}

以上是关于如何将值设置为类的变量并显示它?的主要内容,如果未能解决你的问题,请参考以下文章

如何将类属性设置为类方法返回类型?

没有为类'Person'定义方法'set_age'。飞镖

如何更改片段中的主要活动变量

Static int data语句说明data为类变量,为一个类的共享变量,属于整个类

如何将值从片段/活动传递到 xml?

如何将代码(在这种情况下为类)发送到服务器/程序并接收输出