2016-12-25 27 views
0

私はPHPについてそれほどよく分かりません。私は私のプロジェクトに3つのファイルがあります。config.phpの文字列の値を置き換えます。

最初の1つはsystem.phpで、これはホールアプリケーションロジックを保持します。ここ そのコード:

<?php 

    class Config { 

     protected $data; 
     protected $informaton; 

     protected $default; 

     public function load($file) { 

      $this->data = require $file; 
      $this->informaton = require $file; 

     } 

     public function find($key, $default = null) { 

      $this->default = $default; 

      $segments = explode(".", $key); 

      $data = $this->data; 

      foreach ($segments as $segment) { 
       if (isset($data[$segment])) { 
        $data = $data[$segment]; 
       } else { 
        $data = $this->default; 
        break; 
       } 
      } 

      return $data; 

     } 

     public function exists($key) { 

      return $this->find($key) !== $this->default; 

     } 

// this is the function i am trying to make valide 
     public function replace($value) { 

      $arrayvalues = explode(".", $value); 

      $informaton = $this->informaton; 

      foreach ($arrayvalues as $arrayvalue) { 
       if (isset($informaton[$arrayvalue])) { 
        $informaton = $informaton[$arrayvalue]; 
       } 
      } 

      return $arrayvalues; 

     } 
    } 
?> 

と3つのconfig.phpで、設定を保持:

<?php 
    require "config/config_system.php"; 

    $config = new Config; 
    $config-> load('config.php'); 
// this is way i want to change setting. 
    echo $config-> replace("db.host" , "replace value"); 
?> 

第二1がconfig_system.phpで、設定を保持し、そのコードをlogic.here。

<?php 

    return [ 
     "installation"  => [ 
           // this is the value I want to change via a function to true. 
      "create_db"   => "false", 
      "create_table"  => "false" 

     ], 
     "db"    => [ 
      "host"    => "localhost", 
      "user_name"   => "root", 
      "password"   => "" 
     ] 
    ]; 

?> 

ここでは、一部の設定を機能によって変更したいと考えています。どうしたらいいですか?答えのためのあなたのconfig_system.phpで

答えて

0
public function replace ($keyset, $value){ 
$key_parse = explode(".",keyset); 
$this->data[$key_parse[0]][$key_parse[1]] = $value; 
return $this->data; 
} 

この機能を使用して、

+0

ヘイのおかげ。関数がエラーを表示しています。 explode()は、少なくとも2つのパラメータを期待しています – sohidulpaltan

+0

誤って誤って.. –

関連する問題