为什么不能在类定义中有require*语句?

bar*_*oon 10 php oop class-design

可能相关:
为什么PHP属性不允许函数?

请原谅我,如果以前曾经问过这个问题,但为什么你不能得到以下内容:

class foo {

 require_once 'defines.php';

 private $_server = DB_SERVER;
 private $_username = DB_USERNAME;
 private $_password = DB_PASSWORD;
 private $_database = DB_NAME;
 public  $debug = false;
 public $_conn;

 function __construct() {                          
    $connection = @mysqli_connect($this->_server, $this->_username, $this->_password, $this->_database);
 }

 ...

}
Run Code Online (Sandbox Code Playgroud)

干杯,

编辑:寻找为什么这种行为存在以及为什么不可能.如何结束投票?

EDIT2:还想重新打开这个

Lig*_*ica 5

在将类添加到PHP之前,可以在函数范围和全局范围内进行文件requireinclude文件.

这只是一个猜测 - 我不确定除了语言设计师来告诉我们他们的故事之外我们还能做些什么 - 但我想相信将这个功能添加到"新"中不会带来任何好处范围"通过添加类来发明,特别是考虑到后端添加的复杂性以支持它.

对于在required文件中进行的任何声明,范围规则的含义也不完全清楚.

总之,我认为你问的是错误的问题.而不是"为什么不支持这个?" 这更像是"为什么要支持它?".

我希望这在某种程度上有所帮助.