Пользовательский скрипт оболочки Magento - не может получить значение аргументов

magento.stackexchange https://magento.stackexchange.com/questions/103965

  •  29-09-2020
  •  | 
  •  

Вопрос

Я пытаюсь создать пользовательский скрипт оболочки, который извлечет ZIP-файл в моем каталоге media/tmp.

Я создал файл Leader.php в каталоге оболочки.Он расширяет генеракодицетагкод и запустить () выглядит так:

/**
 * Run script
 *
 */
public function run()
{
    $_SESSION = array();
    if ($this->getArg('unzip')) {
        $zipFile = strval($this->getArg('unzip'));
        echo "Unzipping {$zipFile}";
    }elseif ($this->getArg('pendingList')) {
        echo "this\n";
    } else {
        echo $this->usageHelp();
    }
}
.

Команда, которую я выполняю из генеракодицетагкода.Вывод, который я получаю: Unzipping 1

Это было полезно?

Решение

Из того, что я знаю, думаю, правильный синтаксис следующий:

php -f shell/labeler.php -- --unzip file.zip
.

Синтаксис для скрипта оболочки в Magento:

php -f script.php -- [options]
.

где варианты могут быть просто флагом, как это:

php -f script.php -- test
.

В этом случае $this->getArg('test') вернется 1 (true).

или это может быть так, как это:

php -f script.php -- --test mytest
.

В этом случае $this->getArg('test') вернется «mytest»

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top