Custom Magento Shell Script - não é possível obter o valor do argumento
-
29-09-2020 - |
Pergunta
Estou tentando criar um script de shell personalizado que extrairá um arquivo zip em meu media/tmp
diretório.
Criei um arquivo labeler.php no diretório shell.Ele se estende Mage_Shell_Abstract
e run() fica assim:
/**
* 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();
}
}
O comando que estou executando é php -f shell/labeler.php -- unzip file.zip
.A saída que recebo é: Descompactando 1
Solução
Pelo que sei, acho que a sintaxe correta é a seguinte:
php -f shell/labeler.php -- --unzip file.zip
A sintaxe do shell script no Magento é:
php -f script.php -- [options]
Onde as opções poderiam ser apenas um sinalizador como este:
php -f script.php -- test
Nesse caso $this->getArg('test')
retornará 1 (verdadeiro).
Ou poderia ser um valor como este:
php -f script.php -- --test mytest
Nesse caso $this->getArg('test')
retornará 'meuteste'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange