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

时间:2018-06-14 08:21:06

标签: php class

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

此类中只有__construct函数,以下是Test类的代码:

setTimeout(function convertpdf()
    {
        html2canvas(document.body, {
            onrendered: function (canvas) {

                var img = canvas.toDataURL("image/png");
                var pdf = new jsPDF('p','pt','a4');
                pdf.addImage(img, 'JPEG',0,0);
                pdf.save('test.pdf');

            } 
        }) ;
    }, 1000);

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

<?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;
}

}

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

我测试过:

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

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

它也没有做任何事情。

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

谁能帮帮我?

2 个答案:

答案 0 :(得分:2)

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

  

PHP Parse错误:语法错误,意外“公共”(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;
    }

}

答案 1 :(得分:0)

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

<?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;
}

}