<?php

class FileUpload
{
    function save($callback)
    {
        $path = '/path/image';
         
        echo "Data saved<br />";
        //call the callback
        $callback($path);
    }
}

class Profile
{
    function update_profile()
    {
        $f = new FileUpload('photo');
         
        // Note, this syntax is very similar to javascript callback syntax
    $f->save(function($path){
        echo "Image resized at path $path <br />";    
    });
     
    }
}
 
$p = new Profile;
$p->update_profile();