2016-07-21 11 views
-1

私はクラスから変数を取得したいと思います。クラス外のOOPから変数を取得するPHP

例、

config.phpの

$config['function'] = array('filter_validate','form'); 

controller.php

class Controller{ 

    public function __construct() 
    { 
     foreach ($config['function'] as $key => $function_class) { 
      $function_class = new $function_class(); 
     }  
    } 

} 

しかし、私は$ CONFIG [ '機能']コントローラ内の変数を取得することはできません。どうすればいい?

+1

が 'parameter'として渡します – DarkBee

+0

どうすればいいですか? – TogrulZadeh

+0

またはconfigクラスを作成してください – splash58

答えて

0

あなたはこのように、コンストラクタに設定を渡す必要があります任意のクラス外

class Controller{ 

    public function __construct($config) 
    { 
     foreach ($config['function'] as $key => $function_class) { 
      $function_class = new $function_class(); 
     }  
    } 

} 

$config['function'] = array('filter_validate','form'); 
$controller = new Controller($config); 
0

関数がどこからでも呼び出すことができるグローバルです。変数と同じです。変数にglobalを使用することを忘れないでください。

<?php 
    function abc() { } 

    $foo = 'bar'; 

    class SomeClass { 
     public function tada(){ 
      global $foo; 
      abc(); 
      echo 'foo and '.$foo; 
     } 
    } 
?> 
1

溶液#1(パラメータ付き):

class Controller { 
    public function __construct($config) { 
     foreach ($config['function'] as $key => $function_class) { 
      $function_class = new $function_class(); 
     }  
    } 
} 

溶液#2(globalと - 推奨NOT):

class Controller { 
    public function __construct() { 
     global $config; 
     foreach ($config['function'] as $key => $function_class) { 
      $function_class = new $function_class(); 
     }  
    } 
} 
関連する問題