在我的项目中,我定义了一个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类的变量赋值并显示它。
谁能帮帮我?
答案 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;
}
}