Вы не можете напрямую присвоить возвращаемое значение функции свойству в определении класса.
Это связано с тем, что функция может возвращать разные возвращаемые значения, а класс является только планом, который вы должны создать как объект для использования.
Для объектов, созданных из определения класса, вы можете инициализировать любое свойство в конструкторе:
class FooBar {
protected $var = null;
private $var2 = null;
function __construct() {
$this->var = func1();
$this->var2 = func2();
}
}
Несмотря на это, почему вы используете filter_input
для внутренней константы? Вам нужно только отфильтровать входные данные извне, то есть содержимое GET / POST / SESSION (пользовательский ввод), чтение входных данных из файлов, из внешних API и т. Д. c. Но вам не нужно использовать это для внутренних констант, таких как INPUT_SERVER
:
class FooBar {
private $_docroot = $_SERVER['DOCUMENT_ROOT'];
}
// no parse error