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.
PHP
Latest commit 57ab193 May 20, 2016 @klaussilveira Merge pull request #5 from tuupola/modern-travis
Test modern versions of PHP and use current Travis configuration
Failed to load latest commit information.
src/Simple/SHM
tests/Simple/SHM/Test
.gitignore
.travis.yml Apparently shmop is not supported by hhvm May 20, 2016
LICENSE
README.md Refactoring this old library into something usable Mar 28, 2014
composer.json Merge pull request #5 from tuupola/modern-travis May 20, 2016
phpunit.xml.dist

README.md

SimpleSHM

Build Status

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.

Authors and contributors

License

New BSD license

Todo

  • 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

About Shared Memory

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

Using SimpleSHM

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();