0
Je ne sais pas beaucoup de choses sur php. J'ai 3 fichiers dans mon projet.remplacer la valeur de chaîne dans config.php
Le premier est system.php, qui contient la logique d'application du trou. ici son code:
<?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");
?>
2ème est config_system.php, qui contient la configuration logic.here son code:
<?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;
}
}
?>
et 3ème est config.php, qui détient les configurations.
<?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" => ""
]
];
?>
Maintenant je veux changer un réglage via une fonction. Comment puis-je le faire?
merci Hay pour la réponse. mais la fonction montre une erreur. exploser() attend au moins 2 paramètres – sohidulpaltan
désolé pour erreur typo .. It –