Good question. First, I assume that your concern with sharing the database connection object has to do with sharing the db connection itself. In that case, you might want to read up on persistent connections in the annotated manual (http://www.php.net/manual/features.persistent-connections.php).
Second, the db connection is stored in a single variable, so if you make that static, it doesn't really matter how the object is passed. (PHP classes can't have static members, but you can kludge it by using a global variable defined outside the class or by making it a static variable within a method.)
Third, if my original assumption is totally off or you still want to know how objects are passed, read the annotated manual on classes (http://www.php.net/manual/language.oop.php). According to one note, unless you explicitly pass the object by reference (using &) a copy will be created.
Finally, the manual section on references briefly explains the difference between a PHP reference and a C pointer.
HTH,
Beth