Я хочу сохранить некоторую конфигурацию в классе (data.class. php), который будет обновлен (ClassOne.class. php), а обновленные изменения должны быть прочитаны (ClassTwo.class. php).
Изменения видны из (ClassOne), но не из (ClassTwo).
Вопрос: Как изменения в data.class. php быть постоянным, чтобы (ClassTwo) мог видеть изменения?
Файл: run. php
<?php
include("data.class.php");
include("ClassOne.class.php");
include("ClassTwo.class.php");
$class_one = new ClassOne();
$class_one->run();
$class_two = new ClassTwo();
$class_two->run();
Файл: data.class. php
<?php
class ConfigurationData
{
public $http_components = [
"method" => [
"GET", // [0] <-- Index
"POST", // [1]
null // [2]
]
];
}
Файл: ClassOne.class. php
<?php
class ClassOne extends ConfigurationData
{
public function run()
{
$this->printDataPriorToInjection();
$this->injectHelloInData();
$this->printDataAfterInjection();
}
public function printDataPriorToInjection()
{
print_r($this->http_components);
}
public function injectHelloInData()
{
$this->http_components["method"][2] = "DELETE";
}
public function printDataAfterInjection()
{
print_r($this->http_components);
}
}
Файл: ClassTwo.class. php
<?php
class ClassTwo extends ConfigurationData
{
public function run()
{
// $this->printData();
}
public function printData()
{
print_r($this->http_components);
}
}
Результат:
// Результат из [ClassOne.class.php]
Array
(
[method] => Array
(
[0] => GET
[1] => POST
[2] =>
)
)
Array
(
[method] => Array
(
[0] => GET
[1] => POST
[2] => DELETE
)
)
// Результат из [ClassTwo.class.php]
Array
(
[method] => Array
(
[0] => GET
[1] => POST
[2] => // Comment. I would like DELETE to be visible.
)
)