[eluser]Tim Brownlaw[/eluser]
$this->input->post returns a value or FALSE...(Read the User guide to check the Return Values on things like this...) unless you are testing that elsewhere and setting it to null when it's False ie does not exist!!!
Code:
if ($this->input->post('some_key') !== FALSE) {
// Hopefully we are performing some validation as we're just grabbing the post value here
$data['some_key'] = $this->input->post('some_key');
} else {
// On view would display "content of value" selected from database.
// What do we do if 'some_key' does not exist in the database? NULL is returned
$data['some_key'] = $this->item->get('some_key');
}
Where/How is $data being populated... You refer to a database so I'm guessing you load this up from somewhere else using your set method or another you've not shown here.
I am also guessing that this is your item library you are calling from the above code and that the private property that you have declared... $data is the one you are really wanting to refer to!
Code:
private $data = array();
function __construct() {
}
public function get($key) {
return isset($this->data[$key]) ? $this->data[$key] : null;
}
public function set($key, $value) {
$this->data[$key] = $value;
}
public function has($key) {
return isset($this->data[$key]);
}