First you need to pass $thisin serialize(), not self:
$serializedObject = serialize($this);
Secondly, if you do not implement the interface Serializable(as from PHP 5.1), you need to implement a “magic method” __sleep()for serializing private or protected properties:
public function __sleep() {
return array('prop');
}
.