SimpleSHM is a simple and small abstraction layer for shared memory manipulation using PHP. It makes use of the SHMOP functions, built into most PHP packages.
- Klaus Silveira (Creator, developer, support)
- add support for arrays, by automatically serializing or converting to JSON
- add support for objects, by using JSON
- create a better documentation
- error handling can, and should, be improved
- test, test, test
Shared Memory is an efficient mean of exchanging data between applications in the same machine. One application will create a memory portion which other processes can access, as long as they have the proper permissions. You can read more about it here: http://stereochro.me/assets/uploads/notes/dcom3/shmem.pdf
The idea behind SimpleSHM is to keep things very easy to use. If you want better control and flexibility, you can always modify the class or extend it.
<?php
use Simple\SHM\Block;
/**
* Creating new block, with a random ID
*/
$memory = new Block;
$memory->write('Sample');
echo $memory->read();
/**
* Creating new block, with an specified ID
*/
$new = new Block(897);
$new->write('Sample');
echo $new->read();
/**
* Reading an existing block, with the ID of 42
*/
$existing = new Block(42);
echo $existing->read();
/**
* writing and reading arrays and Mark a shared memory block for deletion
*/
$memory = new Block;
$array = ['test' => 'YamsaferTest', 'test1' => [154 => 333]];
$memory->write($array);
$data = $memory->read();
echo $data['test']; // ==> 'YamsaferTest'
$memory->delete();