PHP Classes

Kitchen Sink: Save and load any type of value in a SQL database

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 99 All time: 9,818 This week: 455Up
Version License PHP version Categories
kitchen-sink 1.0Custom (specified...5PHP 5, Databases, Cache
Description 

Author

This package can Save and load any type of value in a SQL database.

It can store a value of arbitrary type associated with a given key name.

The values are stored in a SQL database table using the serialized value to store in the table.

The package also retrieve or remove an entry by key name.

Picture of Jon Lennryd
  Performance   Level  
Name: Jon Lennryd <contact>
Classes: 1 package by
Country: Sweden Sweden
Age: ???
All time rank: 441328 in Sweden Sweden
Week rank: 180 Up1 in Sweden Sweden Up

Documentation

kitchen_sink

Allow you to quickly save and retrieve any type of value in a kitchen_sink mysql table.

The KitchenSink.php is adapted for Cake PHP 2, while the KitchenSinkTable.php is adapted for Cake 3.

This is a 'everything and the kitchen sink' table, where you can store any type of value through Store(). You give your data a key, a unique name, to identify it.

It uses php's serialize() to convert any (well, I guess most) type of php data type and arrays into a serialized string.

Get your data back with a call to Retrieve().

Delete your data with Forget().

You can find a real usage example in this project: https://github.com/Snorvarg/simplicity

Examples for Cake 2: (Also found in source file)

// Store an array of data about flowers.
$this->loadModel('KitchenSink');
$this->KitchenSink->Store("flowers",array('flowers' => 'sweet', 'numbers_in_a_set' => 12));

// Refetch the data from database. 
$val = $this->KitchenSink->Retrieve("flowers");
debug($val); // The array of valuable flowers-data.

// Remove from database.
$this->KitchenSink->Forget("flowers");

// Now this will give null.
$val = $this->KitchenSink->Retrieve("flowers");
debug($val); // null, does no longer exist

// Several calls to Store() with same key will overwrite old value.
$this->KitchenSink->Store("Monkeys", array("Messy things in trees."));
$this->KitchenSink->Store("Monkeys", array("Monkeys in the djungle."));

Examples for Cake 3:

$kitchenSink = TableRegistry::get('KitchenSink');

$kitchenSink->Store('apples', array('green', 'red' => 12, 'blue' => array('no!!'), 'yellow' => 2));
$appleInfo = $kitchenSink->Retrieve('apples');

$kitchenSink->Forget('apples');
$whatApples = $kitchenSink->Retrieve('apples'); // Returns null.

$nullIfNotThere = $kitchenSink->Retrieve('FancyKey');

// This is a nice shortcut to give a default value if there is none in database.
$alwaysDefined = $kitchenSink->Retrieve('ScreaminglyFancyKey', 'a default value here');

  Files folder image Files (4)  
File Role Description
Plain text file KitchenSink.php Class Class source
Plain text file KitchenSinkTable.php Class Class source
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:99
This week:0
All time:9,818
This week:455Up