GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — igbinary/igbinary.php at master · igbinary/igbinary Expand file tree/ Copy pathigbinary.phpMore file actions 73 lines (71 loc) · 3.46 KB / Copy pathigbinary.phpFile metadata and controls73 lines (71 loc) · 3.46 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 <?php /** * Instead of the time and space consuming textual representation used by PHP's `serialize`, * igbinary stores php data structures in a compact binary form. * Memory savings are significant when using memcached, APCu, or similar memory based storages for serialized data. * The typical reduction in storage requirements are around 50%. * The exact percentage depends on your data. * * But where does the name "igbinary" come from? There was once a similar project * called fbinary but it has disappeared from the Internet. Its architecture * wasn't very clean either. IG is short name for a finnish social networking site * {@link http://irc-galleria.net/ IRC-Galleria}. * * Storing complex PHP data structures such as arrays of associative arrays * with the standard PHP serializer is not very space efficient. * Igbinary uses two strategies to minimize the size of the serialized * output. * * 1. Repeated strings are stored only once (this also includes class and property names). * Collections of objects benefit significantly from this. * See the `igbinary.compact_strings` option. * * 2. Integer values are stored in the smallest primitive data type available: * *123* = `int8_t`, * *1234* = `int16_t`, * *123456* = `int32_t` * ... and so on. * * This file is igbinary's phpdoc documentation stub. * * @author Oleg Grenrus <[email protected]> * @version 1.0.0 * @package igbinary */ /** * Generates a storable representation of a value. * This is useful for storing or passing PHP values around without losing their type and structure. * To make the serialized string into a PHP value again, use {@link igbinary_unserialize}. * * igbinary_serialize() handles all types, except the resource-type. * You can even serialize() arrays that contain references to itself. * Circular references inside the array/object you are serialize()ing will also be stored. * * If object implements {@link http://www.php.net/~helly/php/ext/spl/interfaceSerializable.html Serializable} -interface, * PHP will call the member function serialize to get serialized representation of object. * * When serializing objects, PHP will attempt to call the member function __sleep prior to serialization. * This is to allow the object to do any last minute clean-up, etc. prior to being serialized. * Likewise, when the object is restored using unserialize() the __wakeup member function is called. * * @param mixed $value The value to be serialized. * @return string Returns a string containing a binary representation of value that can be stored anywhere. * @link http://www.php.net/serialize PHP's default serialize */ function igbinary_serialize($value); /** Creates a PHP value from a stored representation. * igbinary_unserialize() takes a single serialized variable and converts it back into a PHP value. * * If the variable being unserialized is an object, * then after successfully reconstructing the object, * PHP will automatically call the __wakeup() member function (if it exists). * * If the passed in string could not be unserialized, * then NULL is returned and an E_WARNING is issued. * * @param string $str The serialized string. * @return mixed The unserialized value is returned. It can be a boolean, integer, float, string, array, object or null. * @link http://www.php.net/manual/en/function.unserialize.php PHP's default unserialize * @link https://secure.php.net/serializable Serializable interface */ function igbinary_unserialize($str); |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |