2012-08-12 24 views
6

Estoy usando exec() para ejecutar un archivo pero el archivo está en una clase, leo más sobre argv pero me resulta confuso. Necesito que funcione dentro de una clase.

Dice:

Tenga en cuenta que, argv $ y $ argc que ser declarada mundial, al intentar acceder a un método de clase

en php.net

+0

¿Y cuál es el objetivo? Los argumentos son para la ejecución de la consola. – Stony

Respuesta

20

Eso significa que argc/argv no son superglobales, solo son visibles en el contexto de nivel superior de los scripts de PHP, por lo que ...

<?php 

$x = $argv[1]; // works 

class foo { 
    function bar() { 
     echo $argv[1]; // undefined 
    } 
    function baz() { 
     global $argv; 
     echo $argv[1]; // works 
    } 
} 
+0

problema solucionado gracias – user1588878

+1

Esto se puede hacer usando '$ GLOBALS ['argv'] ...' también. En caso de que copiar una variable a su alcance actual o tratar de hacer que sean superglobales no es deseable. – ThorSummoner