CodeIgniter получает доступ к переменной родительской функции

#php #codeigniter #variables #scope #parent

#php #codeigniter #переменные #область видимости #родительский

Вопрос:

Я создал скрипт, который добавляет файлы в zip (после большого количества синтаксического анализа и т.д.), И У меня есть эта функция:

 function _add_file($command)
{
    if (!isset($command["source"]) || !isset($command["dest"])) {
        return;
    }

    if (!get_file_info("files/".$command["source"])) {
        return;
    }

    $zip->addFile("files/".$command["source"], $command["destination"]);
}
  

Выдает ошибку, потому что $ zip не определен в _add_file. Как я могу разрешить _add_file доступ к $ zip, определенному в вызывающей его функции (без _add_file($command, $zip) )?

Ответ №1:

Сделайте ее переменной класса var $zip и получите к ней доступ с помощью $this->zip

Комментарии:

1. Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_VAR? Я понимаю, что вы имеете в виду, но сейчас это почему-то не работает.

2. Я как раз собирался написать длинное обновление 🙂 Рад, что вы это исправили.