[dev] Correct method for inter-application calls
Jan Schneider
jan at horde.org
Tue Jun 3 23:18:45 PDT 2003
Zitat von "Jason M. Felice" <jfelice at cronosys.com>:
> On Tue, Jun 03, 2003 at 03:49:33PM -0600, Diego Rivera wrote:
> > Hello all!
> >
> > I'm writing some integration stuff that may require interoperation
> > between Kronolith, Imp, Moment, Nag and Turba, and I'm wondering what
> > the correct mechanism to follow would be to call a function exported in
> > - say - IMP's api.php from a method within a Turba backend driver, or
> > within turba itself.
> >
> > I'm reluctant to start doing includes and requires all over the place,
> > so if there's a horde-standard way of doing this I'd much prefer that
> > (a-la Horde::callAppApi('imp', '_api_call', arg1, arg2, ... , argN ) ).
> >
> > I looked at Horde.php and horde's api.php in search of what I would be
> > needing (or something close) and came up empty except for listApis()
> > which I don't think is what I want.
> >
>
> I just found this stuff myself ;-) Look in lib/Registry.php. You want
> to do something like this:
>
> global $registry;
> if ($registry->hasMethod('projects/get_assigned_ticket_ids')) {
> $result = $registry->call('projects/get_assigned_ticket_ids');
> }
>
> The 'projects/' is from the 'provides =>' line for that app in
> config/registry.php, the `get_assigned_ticket_ids' is the name registered
> in that applications api.php.
>
> Sample code can be found in kronolith, which gets events from all over
> the
> place.
And not to forget the Links api that allows connections between arbitrary
objects from different Horde applications.
> What sort of integration? I'm planning a bit myself
> (imp/whups/nag/hermes).
Jan.
--
http://www.horde.org - The Horde Project
http://www.ammma.de - discover your knowledge
http://www.tip4all.de - Deine private Tippgemeinschaft
More information about the dev
mailing list