Home > Article > Backend Development > 为什么可以直接访问非静态函数?
今天看Discuz的代码,看到如下的代码:
class DB{ function table($table) { return DB::_execute('table_name', $table); } function _execute($cmd , $arg1 = '', $arg2 = '') { static $db; if(empty($db)) $db = & DB::object(); $res = $db->$cmd($arg1, $arg2); return $res; }}
检错的级别不同而已
class T { function foo($s) { echo $s, PHP_EOL; }}T::foo(123);error_reporting(E_ALL ^ E_STRICT);T::foo('abc');
并没有这个DB 类
只有在 \source\class\class_core.php 的最后一行
class DB extends discuz_database {}
不知道你的版本是多少