If you want to use messages from multiple domains with .mo-files residing in non-standard locations remember to place a bindtextdomain()-call for each domain as "unbound" domains will be looked for in the standard location (usually "/usr/share/locale" on *nix)
<?php
bindtextdomain('foo','/some/dir/with/mo_files');
bindtextdomain('bar','/another/mo_file/dir');
echo dgettext('foo','Text to be translated using the foo-catalog.');
echo dgettext('bar','Text from a different catalog named bar.');
?>
If all the .mo-files you are using reside in one and the same directory, you may use the "*"-wildcard like this:
<?php
bindtextdomain('*','/directory/with/all/mo_files');
?>
This code was tested on PHP 5.1.4