divoxx / ruby-php-serialization
- Source
- Commits
- Network (2)
- Issues (0)
- Downloads (12)
- Wiki (1)
- Graphs
-
Branch:
master
Rodrigo Kochenburger (author)
Fri Dec 18 04:21:02 -0800 2009
| name | age | message | |
|---|---|---|---|
| |
.document | Fri Sep 25 11:51:34 -0700 2009 | |
| |
.gitignore | Fri Sep 25 11:51:34 -0700 2009 | |
| |
LICENSE | Fri Sep 25 11:51:34 -0700 2009 | |
| |
README.rdoc | Tue Oct 06 08:14:31 -0700 2009 | |
| |
Rakefile | Fri Oct 02 12:35:30 -0700 2009 | |
| |
VERSION | Fri Dec 18 04:20:57 -0800 2009 | |
| |
features/ | Fri Oct 02 11:23:22 -0700 2009 | |
| |
lib/ | Fri Dec 18 04:19:04 -0800 2009 | |
| |
php-serialization.gemspec | Fri Dec 18 04:21:02 -0800 2009 | |
| |
spec/ | Mon Oct 05 15:38:56 -0700 2009 |
README.rdoc
PhpSerialization
Ruby implementation of PHP’s serialization. This is special useful for reading PHP session files.
Serialization examples
Primitive values
PhpSerialization.dump(10) # => "i:10;"
PhpSerialization.dump("Name") # => "s:4:\"Name\";"
PhpSerialization.dump(true) # => "b:1;"
PhpSerialization.dump(nil) # => "N;"
Array
PhpSerialization.dump([true, "foo"]) # => "a:2:{i:0;b:1;i:1;s:3:\"foo\";}"
Hash
PhpSerialization.dump("name" => "Rodrigo", "age" => 23) # => "a:2:{s:4:\"name\";s:7:\"Rodrigo\";s:3:\"age\";i:23;}"
Object
class Person
attr_accessor :name, :age
end
person = Person.new
person.name = "Rodrigo"
person.age = 23
PhpSerialization.dump(person) # => "O:6:\"Person\":2:{s:4:\"name\";s:7:\"Rodrigo\";s:3:\"age\";i:23;}"
Unserialization examples
Primitive values
PhpSerialization.load('i:10;') # => 10
PhpSerialization.load('s:4:"Name";') # => "Name"
PhpSerialization.load('b:1;') # => true
PhpSerialization.load('N;') # => nil
Array
PhpSerialization.load('a:2:{i:0;b:1;i:1;s:3:"foo";}') # => [true, "foo"]
Hash
PhpSerialization.load('a:2:{s:4:"name";s:7:"Rodrigo";s:3:"age";i:23;}') # => {"name" => "Rodrigo", "age" => 23}
Object
class Person
attr_accessor :name, :age
end
person = PhpSerialization.load('O:6:"Person":2:{s:4:"name";s:7:"Rodrigo";s:3:"age";i:23;}')
person.name # => "Rodrigo"
person.age # => 23
Object without class will map to a Struct
person = PhpSerialization.load('O:6:"Person":2:{s:4:"name";s:7:"Rodrigo";s:3:"age";i:23;}')
person.class # => Struct::Person
person.name # => "Rodrigo"
person.age # => 23
You can also call unserialize() or restore(), they are alias to the load().
Copyright
Copyright © 2009 Rodrigo Kochenburger. See LICENSE for details.
