En PHP 5, los objetos son siempre pasados por referencia, no copiados como en PHP 4.
<?php
    
class CuentaDeAhorros {
        public 
$saldo;

        function 
__construct($saldo) {
            
$this->saldo $saldo;
        }
    }

    function 
poner($cuenta$cantidad) {
        
$cuenta->saldo += $cantidad;
    }

    function 
sacar($cuenta$cantidad) {
        
$cuenta->saldo -= $cantidad;
    }

    
$antonio = new CuentaDeAhorros(300);
    
poner($antonio100);
    
sacar($antonio450);

    if (
$antonio->saldo 0) {
        echo 
'Cuida tu platita Antonio...';
    }
?>
... y ejecutando este código resulta en:
Cuida tu platita Antonio...