scope — Получить состояние объекта через другой контроллер в Stack Overflow

Когда URI «/ service / add», «/ service / update» ударил .. Я хочу обновить $ service class члена Service Class. В основном постоянный объект для обработки ниже проблемы «Выпуск # 101«:.

По сути, я хочу обновить (добавить / обновить / удалить некоторые ключи массива, т.е. сервисы)) тот же массив $ service, вызвав другой контроллер из Router.php.

Как я могу этого добиться. Поскольку я хочу обновить только массив $ service, я не храню их в базе данных и не загружаю их в другой контроллер.

В этом случае:

  • Хранение только массива $ service в базе данных никогда не вариант. (вызов модели из контроллера)
  • Хранение в сеансе может привести к риску данных, если он содержит конфиденциальную информацию, а $ 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.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]