<?php
abstract class messageDetail
{
abstract function filter($msg);
}
class setmessage extends messageDetail
{
public function filter($msg)
{
return $msg;
}
}
class messageHandle extends messageDetail
{
public $message;
public $obj;
public function __construct($obj)
{
$this -> obj = $obj;
}
public function filter($msg)
{
$this -> message = $msg;
}
}
class htmlFilter extends messageHandle
{
public function filter($msg)
{
parent::filter($msg);
return 'html过滤'.$this->msg;
}
}
class ensitiveFilter extends messageHandle
{
public function filter($msg)
{
parent::filter($msg);
return '敏感词汇过滤'.$this->message;
}
}
$obj = new htmlFilter();
echo $obj -> filter('测试一下');
Fatal error: Uncaught ArgumentCountError: Too few arguments to function messageHandle::__construct(), 0 passed in /in/9UbRY on line 48 and exactly 1 expected in /in/9UbRY:19
Stack trace:
#0 /in/9UbRY(48): messageHandle->__construct()
#1 {main}
thrown in /in/9UbRY on line 19
Process exited with code 255.
Warning: Missing argument 1 for messageHandle::__construct(), called in /in/9UbRY on line 48 and defined in /in/9UbRY on line 19
Notice: Undefined variable: obj in /in/9UbRY on line 21
Notice: Undefined property: htmlFilter::$msg in /in/9UbRY on line 35
html过滤
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.5
Warning: Missing argument 1 for messageHandle::__construct(), called in /in/9UbRY on line 48 and defined in /in/9UbRY on line 19
Notice: Undefined variable: obj in /in/9UbRY on line 21
Notice: Undefined property: htmlFilter::$msg in /in/9UbRY on line 35
html过滤
Output for 5.0.0 - 5.0.5
Warning: Missing argument 1 for messageHandle::__construct() in /in/9UbRY on line 19
Notice: Undefined property: htmlFilter::$msg in /in/9UbRY on line 35
html过滤
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/9UbRY on line 2
Process exited with code 255.