2012-08-12 22 views
6

Bir dosyayı yürütmek için exec() kullanıyorum ama dosya bir sınıfta, argv hakkında daha fazla bilgi okudum ama kafa karıştırıcıydı. Bir dersin içinde çalışmam lazım.

Diyor ki

yani $ argv ve unutmayın $ argc php.net bir sınıf yöntemine

içinde erişmeye çalışırken, küresel ilan edilmesi gerekir

+0

Peki ya gol? Bağımsız değişkenler konsol yürütme içindir. – Stony

cevap

20

Bu argc/argv süper küresel olmayanlar anlamına gelir - sadece PHP komut dosyalarının en üst düzey bağlamında görünürler, bu nedenle ...

<?php 

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

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

sorunu düzeltildi! – user1588878

+1

teşekkürler Bu, $ GLOBALS ['argv'] ... 'kullanarak da yapılabilir. Mevcut kapsamınıza bir değişken kopyalamak veya onları süper küresel yapmaya çalışmak istenmiyorsa. – ThorSummoner

İlgili konular