Когда URI «/ service / add», «/ service / update» ударил .. Я хочу обновить $ service class члена Service Class. В основном постоянный объект для обработки ниже проблемы «Выпуск # 101«:.
По сути, я хочу обновить (добавить / обновить / удалить некоторые ключи массива, т.е. сервисы)) тот же массив $ service, вызвав другой контроллер из Router.php.
Как я могу этого добиться. Поскольку я хочу обновить только массив $ service, я не храню их в базе данных и не загружаю их в другой контроллер.
В этом случае:
Выпуск # 101: Проблема заключается в том, чтобы сохранить состояние $ service из класса Services на другом контроллере.
router.php
post('/service/add',ControllerService/service_add_function);
post('/service/update',ControllerService/service_update_function);
ControllerService.php
class ControllerService extends BaseController{
service_add_function(){
$service = getPostData();
$instance = Service::getInstance();
$addedService = $instance->addService($service);
//issue#102:
}
service_update_function(){
$service = getPostData();
$instance = Services::getInstance();
// **issue #101**: getService returns null but I want to get $service value
// added from service_add_function() controller
$oldService = $instance->getService()
// modify $oldService values by validating $oldService[key]
$newService = $instance->addService($oldService);
//rendering service template with updated service list
VIEW::render(service.tpl,$newService);
}
}
Services.php
class Services{
static $instance = NULL;
$service = array();
static function getInstance(){
if($instance === NULL)
self::$instance = new Services();
return self::$instance
}
addService($service){
// I will do service[key] validation
$this->service = $service;
}
getService(){
return $this->service;
}
}
Решение проблем с помощью шаблонов проектирования будет высоко оценено, если такой шаблон будет сохранять состояние объекта в течение всего жизненного цикла, пока объект не будет уничтожен вручную, а скорее уничтожен, когда завершится выполнение сценария php.
Задача ещё не решена.
Других решений пока нет …