devzone
devzone

Reputation: 49

Get object state across different controller in php

When URI "/service/add" , "/service/update" hit.. I want to update $service class member of Service Class. Basically an persistent Object to handle below issue "Issue#101": .

Basically I want to update (adding/ updating / removing some array key i.e. services)) same $service array by calling different controller from Router.php.

How can I achieve this. As I want to update just $service array I am not storing them into database and fetching into other controller.

In this case:

Issue#101: Issue is to retain $service state from Services Class across different controller.

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;
    }
}

Problem Resolution with Design Patterns would be highly appreciated if such pattern persists Object state throughout lifecycle until object not destroyed manually rather destroyed when php script execution ends.

Upvotes: 1

Views: 205

Answers (0)

Related Questions