PHP-Serialize
serialize and unserialize PHP data structures in JavaScript
Features
PHP Compatibility
Fully compatible with PHP's serialize/unserialize functions for seamless data exchange
Serializable Objects
Support for PHP's Serializable interface with custom class mapping
Type Safety
TypeScript support with strict type checking and comprehensive type definitions
Encoding Options
Flexible encoding options with support for both UTF-8 and binary data
Getting Started
Installation
Choose your preferred package manager:
npm
$ npm install php-serializeyarn
$ yarn add php-serializeBasic Usage
import { serialize, unserialize } from 'php-serialize'
// Serialize data
const data = {
name: 'John Doe',
age: 30,
hobbies: ['reading', 'coding']
}
const serialized = serialize(data)
// Unserialize data
const unserialized = unserialize(serialized)
console.log(unserialized) // Original objectExamples
Serializable Objects
class User {
constructor({ name, age }) {
this.name = name
this.age = age
}
serialize() {
return JSON.stringify({ name: this.name, age: this.age })
}
unserialize(rawData) {
const { name, age } = JSON.parse(rawData)
this.name = name
this.age = age
}
}
const user = new User({ name: 'Steel Brain', age: 17 })
const serialized = serialize(user)
// Unserialize with class mapping
const unserialized = unserialize(serialized, { User })
console.log(unserialized instanceof User) // trueAdvanced Usage
// Custom namespace mapping
const serializedForNamespace = serialize(user, {
'MyApp\User': User,
})
// Using different encoding options
const binaryData = serialize(data, {}, { encoding: 'binary' })
const utf8Data = serialize(data, {}, { encoding: 'utf8' })
// Strict mode unserialize
const strict = unserialize(serialized, {}, { strict: true })Made with ❤️ by Anees Iqbal (@steelbrain)
