@Sazanovdm

Как включить файл в функции?

class ClassName 
{
	
    public function __construct()
    {
        include('config.php');
    }

    public function FunctionName()
    {
		include_once('..//config.php');
    }
}
$obj = new ClassName();
$obj->FunctionName();


В лог ошибок высыпается
PHP Warning:  include(config.php): failed to open stream: No such file or directory in /var/www/script/include/test.php on line 10
PHP Warning:  include(): Failed opening 'config.php' for inclusion (include_path='.:/usr/share/php') in /var/www/script/include/test.php on line 10


Путь к файлу config.php: /var/www/script
файл в котором пытаюсь подключить config находится: /var/www/script/include
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
НЕ СЛЕДУЕТ вообще заниматься такими вещами, как включить файл в функции. кроме совсем редких специальных случаев. Файл надо прочитать отдельно, и потом передать его содержимое в функцию в качестве параметра.

Кроме этого, надо в принципе стараться писать осмысленный код и не совершать хаотичных телодвижений. Например, не пытаться подключить файл два раза, причем один раз - с заведомо неверным путём.

поэтому данный код переписать так

class ClassName 
{
    protected $config;
    public function __construct($config)
    {
        $this->config = $config;
    }
    public function FunctionName()
    {
    }
}
$config = require __DIR__."../config.php";
$obj = new ClassName($config);
$obj->FunctionName();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы